Methods and apparatus to associate geographic locations with user devices

ABSTRACT

Methods, apparatus, systems and articles of manufacture are disclosed to associate geographic locations with user devices. An example apparatus includes means for classifying a network that connects a user device to an audience measurement entity based on source identifying information transmitted from the user device, means for determining a geographic location associated with an impression indicated by media identifying information, and means for classifying the geographic location of the user device as a home location based on a timestamp associated with the impression, the timestamp retrieved from a database of user profiles.

RELATED APPLICATION

This patent arises from a continuation of U.S. patent application Ser.No. 16/105,805, now U.S. Pat. No. 10,412,547, entitled “Methods andApparatus to Associate Geographic Locations with User Devices,” filedAug. 20, 2018, which is a continuation of U.S. patent application Ser.No. 15/818,715, now U.S. Pat. No. 10,057,718, entitled “Methods andApparatus to Associate Geographic Locations with User Devices,” filedNov. 20, 2017, which is a continuation of U.S. patent application Ser.No. 14/880,381, now U.S. Pat. No. 9,826,359, entitled “Methods andApparatus to Associate Geographic Locations with User Devices,” filedOct. 12, 2015, which claims the benefit of U.S. Provisional PatentApplication No. 62/155,986, filed May 1, 2015, entitled “Methods andApparatus to Associate Geographic Locations with Mobile Devices.” Theentire disclosures of U.S. patent application Ser. No. 16/105,805, U.S.patent application Ser. No. 15/818,715, U.S. patent application Ser. No.14/880,381, and U.S. Provisional Patent Application No. 62/155,986 arehereby incorporated by reference in their entirety.

FIELD OF THE DISCLOSURE

This disclosure relates generally to audience measurement, and, moreparticularly, to methods and apparatus to associate geographic locationswith user devices.

BACKGROUND

Audience measurement of media (e.g., any type of content and/oradvertisements such as broadcast television and/or radio, stored audioand/or video played back from a memory such as a digital video recorderor a digital video disc, a webpage, audio and/or video presented (e.g.,streamed) via the Internet, a video game, etc.) often involvescollection of media identifying information (e.g., signature(s),fingerprint(s), code(s), tuned channel identification information, timeof exposure information, etc.). Such audience measurement effortstypically also involve the collection of people data (e.g., useridentifier(s), demographic data associated with audience member(s),etc.). The media identifying information and the people data can becombined to generate, for example, media exposure data indicative ofamount(s) and/or type(s) of people that were exposed to specificpiece(s) of media.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is diagram of an example environment in which a systemconstructed in accordance with the teachings of this disclosure operatesto associate geographic locations with mobile devices.

FIG. 2 is a diagram of an example message path illustrating metering oftagged media.

FIG. 3 is a diagram of an example message path illustrating metering oftagged media via a fixed-location network.

FIG. 4 is a diagram of an example message path illustrating metering oftagged media via a mobile network.

FIG. 5 is a block diagram of an example implementation of the audiencemeasurement entity of FIGS. 1-3 and/or 4 that may facilitate associatinggeographic locations with mobile devices.

FIG. 6 is an example tag including pseudo code that may be executed togenerate a beacon in response to accessing tagged media at a userdevice.

FIG. 7 is an example data table storing data representing tagged mediaimpressions that may be collected by the example audience measuremententity server of FIGS. 1-4 and/or 5.

FIG. 8 is an example data table that may be stored by the exampleaudience measurement entity server of FIGS. 1-4 and/or 5 representingprofiles generated for users that accessed tagged media.

FIG. 9 is a flowchart representative of example machine-readableinstructions that may be executed by the example audience measuremententity server of FIGS. 1-4 and/or 5 to identify a reliable locationidentifier that may be used to associate a geographic location with userdevices.

FIG. 10 is a flowchart representative of example machine-readableinstructions that may be executed by the example audience measuremententity server of FIGS. 1-4 and/or 5 to associate a geographic locationwith a user device.

FIG. 11 is a flowchart representative of example machine-readableinstructions that may be executed by the example audience measuremententity server of FIGS. 1-4 and/or 5 to identify source identifyinginformation that may be associated with business locations.

FIG. 12 is a flowchart representative of example machine-readableinstructions that may be executed by the example audience measuremententity server of FIGS. 1-4 and/or 5 to generate a profile for a userassociated with accessing tagged media.

FIG. 13 is a block diagram of an example audience measurement serverstructured to execute the example machine-readable instructions of FIGS.9-11 and/or 12 to implement the example audience measurement entityserver of FIGS. 1-4 and/or 5.

Wherever possible, the same reference numbers will be used throughoutthe drawings) and accompanying written description to refer to the sameor like parts.

DETAILED DESCRIPTION

Media may be used to convey many different types of information. Forexample, a web page may include media (e.g., visual images, video,audio, text, etc.) and/or links (e.g., uniform resource locators (URLs))to media available on the Internet. In some examples, media may be usedto disseminate advertisements to a mass audience. For example, sponsoredmedia is media that is served (e.g., on web pages) (or otherwisedistributed) and advertises, endorses, or otherwise conveys a message insupport of a product, a service, a company, etc. of a person or entitypaying (or otherwise sponsoring) the media provider to serve thesponsored media.

Companies and/or individuals want to understand the reach andeffectiveness of the media (e.g., content and/or advertisements) thatthey produce. For example, media that is associated with larger numbersof exposures and/or larger numbers of occurrences of an association maybe considered more effective at influencing user behavior. Furthermore,companies and/or individuals want to understand the demographics (e.g.,age, gender, geographic location, etc.) of users exposed to the media.

Monitoring impressions of advertisements, endorsements, or other mediaserved to users is useful for generating impression statistics (e.g.,reach and/or frequency) of the advertisements, endorsements, or othermedia. For example, measuring “reach” may be useful for estimating thenumber of unique (e.g., different) users who have been exposed to themedia. Thus, an impression is representative of the fact that member(s)of a home or an individual having been exposed to media (e.g., anadvertisement, content, a group of advertisements and/or a collection ofcontent, etc.). With respect to online media, a quantity of impressionsor impression count is the total number of times media (e.g., anadvertisement, an advertisement campaign, a streaming program, etc.) hasbeen presented to and/or accessed by a web population.

Monitoring entities (sometimes referred to as “monitoring companies” or“audience measurement entities”) desire knowledge of how users interactwith media and media devices such as smart phones, tablets, laptops,smart televisions, etc. In particular, media monitoring entities want tomonitor media presentations made at the media devices to, among otherthings, monitor exposure to advertisements, determine advertisementeffectiveness, determine user behavior, identify purchasing behaviorassociated with various demographics, etc.

However, not all exposures have the same value. For example, aproprietor of products and/or services that are only sold and/oravailable in Chicago may an advertisement for their products and/orservices. In some such examples, an exposure to the advertisement by auser located in Miami is not as valuable to the proprietor as anexposure to the advertisement by a user located in Chicago. Examplesdisclosed herein facilitate serving relevant and meaningful media tousers by associating the users with respective geographic locations.

Example methods, systems and apparatus disclosed herein may be used tocollect monitoring information from a user device accessing taggedmedia, and then correlate a geographic location with the user devicebased on the monitoring information. Examples disclosed hereinfacilitate collecting monitoring information by tracking the monitoringinformation included in beacon(s) that are transmitted to the audiencemeasurement entity in response to media request(s).

A user device (e.g., a mobile device), via a browser that renders mediaor a non-browser based application that presents media, requests theonline media from a media provider (e.g., one or more content providersand/or advertising entities) by sending a request (e.g., a hypertexttransfer protocol (HTTP) request and/or an HTTP secure (HTTPS) request)to an Internet address defined by a URL specified by the media provider.To enable monitoring of user access/exposure to media, in some examples,participating publishers and/or web sites insert or embed a tag withinthe source (e.g., Hypertext Markup Language (HTML) code) of the webpages that they serve. The tag may include JavaScript, Flash and/orother executable instructions, which cause exposure to the media to betracked (e.g., recorded by an audience measurement entity) when the tagexecutes on a requesting browser.

Methods, apparatus and systems for tagging media are described in, forexample, U.S. Pat. No. 6,108,637, by Blumenau, entitled “Content DisplayMonitor,” which is hereby incorporated by reference in its entirety.Because a tag is embedded in the media (e.g., HTML defining a web pageand/or referenced by a pointer in the HTML of a web page), the tag isexecuted whenever a browser renders the corresponding media (e.g., theweb page).

Typically, a tag will cause the browser to send a request (sometimesreferred to herein as a “beacon”) to a data collection facility such asan audience measurement entity server that is associated with theaudience measurement entity. In some examples, the beacon is an HTTPrequest (e.g., an HTTP GET request, an HTTP POST request, etc.). Thebeacon enables monitoring data reflecting information about the mediaaccess to be tracked. To this end, the beacon carries identificationinformation to be collected, compiled and/or analyzed at the audiencemeasurement entity server. The identification information may include auser agent string to identify the user device on which the media isrequested, a media identifier to identify the media with which the tagis associated (e.g., a website address), a host identifier to identifythe host (e.g., web server) with which the requested media is associated(e.g., a vendor identifier (VID)) a time stamp to identify thedates/times at which the media is requested, accessed and/or received,one or more command identifiers identifying control commands (e.g.,pause, play, stop, etc.) acted upon the media, etc.

Example methods, systems and apparatus disclosed herein leverageinformation from the beacon to select a location identifier that can bemapped to a geographic location. In some disclosed examples, the beaconincludes a network address (e.g., an internet protocol (IP) address)that is assigned to a requesting (e.g., source) device (e.g., a userdevice). Disclosed examples identify the network address in the beaconand determine if the network address is a reliable (e.g., accurate)identifier of a geographic location based on a network connection usedto transmit the beacon. For example, the user device may access theInternet via a fixed network such as a Wi-Fi connection or a mobilenetwork such as a cellular network. As used herein, a fixed network is awired and/or wireless network that operates in a fixed (or nearly fixed)location. A fixed network typically includes a router/switch that isconnected to a cable modem on one end and connected to one or moredevice(s) on the other end. Example fixed networks include Wi-Finetworks used in houses and small businesses (e.g., coffee shops,libraries, etc.).

When the network address is determined to be a reliable locationidentifier (e.g., the beacon was transmitted via a fixed network),examples disclosed herein map the reliable location identifier (e.g.,the network address) to a geographic location. Disclosed examples accessa geographic database that includes a list of location identifiers(e.g., network addresses) to map the network addresses to acorresponding geographic location. The list may be as precise asdetermining a network address to the nearest city block or to ageographic region (e.g., Cook County, Ill.).

In some examples, when a beacon is transmitted via a mobile network(e.g., a cellular network), the beacon may be routed through a largegeographic region before being received at the audience measuremententity. For example, a cellular network provider may route all trafficwithin their cellular network that originates in the Midwest (e.g.,Dallas, Tex.) through a gateway located in Chicago, Ill. In some suchexamples, the network address in the beacon corresponds to the gateway(e.g., Chicago) rather than to the beacon origination location (e.g.,the user device in Dallas). Thus, when the beacon is transmitted via amobile network, the network address is determined to be a non-reliablelocation identifier.

When the network address is determined to be a non-reliable locationidentifier (e.g., the beacon was transmitted via a mobile network),examples disclosed herein attempt to identify location servicesinformation (e.g., Global Positioning System (GPS) coordinates) in thebeacon. In some disclosed examples, when a beacon is transmitted via amobile network, the provider of the mobile network (e.g., a cellularnetwork provider) may embed location services information of the mobiledevice in the beacon. Disclosed examples access a geographic databasethat includes a list of location identifiers (e.g., GPS coordinates) tomap the location services information to a corresponding geographiclocation.

In some disclosed examples, the mobile network provider may not embedlocation services information in the beacon. In some such examples,disclosed examples retrieve a user identifier from the beacon and querylocation services information from the mobile network provider based onthe user identifier. Disclosed examples then access a geographicdatabase that includes a list of location identifier (e.g., GPScoordinates) to map the location services information to a correspondinggeographic location.

Some disclosed examples generate user profiles that associate a userand/or user device to a home location based on the identified geographiclocations. For example, disclosed. examples may tally the number ofimpressions for the one or more geographic location(s) associated withthe same user and/or user device. In some such examples, when the numberof impressions for a geographic location-user pairing satisfies athreshold, the corresponding geographic location is designated a homelocation for the user and/or user device.

In some disclosed examples, the generated profiles are provided to themedia providers to facilitate providing location-based media to usersrequesting media. For example, in response to a media request, the mediaprovider may use a user identifier extracted from the media request andquery a database of profiles for a matching user identifier. In somesuch examples, when the user identifier in the request matches a useridentifier in the database, media associated with the corresponding homelocation is provided to the requesting device. In some examples when amatch is not found, disclosed examples provide general (e.g., nationalor location-agnostic) media.

FIG. 1 is an illustration of an example environment 100 in whichexamples disclosed herein may be implemented to associate user deviceswith respective geographic locations. The example environment 100 ofFIG. 1 includes an audience measurement entity (AME) server 105, a mediahosting server 110 and a user device 115. In some examples, the AMEserver 105 is implemented using multiple devices and/or the mediahosting server 110 is implemented using multiple devices. For example,the AME server 105 and/or the media hosting server 110 may include diskarrays or multiple workstations (e.g., desktop computers, workstationservers, laptops, etc.) in communication with one another.

In the illustrated example, the AME server 105 is in selectivecommunication with the media hosting server 110 and/or the user device115 via one or more wired and/or wireless networks represented bynetwork 120. Example network 120 may be implemented using any suitablewired and/or wireless network(s) including, for example, one or moredata buses, one or more Local Area Networks (LANs), one or more wirelessLANs, one or more cellular networks, the Internet, etc. In someexamples, example network 120 may be implemented using two or morenetworks. For example, the user device 115 may be in communication witha network router via a private network (e.g., a fixed network such as aWi-Fi network, a mobile network such as a cellular network, etc.), andthe network router may be in communication with the AME server 105and/or the media hosting server 110 via a public network such as theInternet. In some such examples, a message transmitted by the userdevice 115 is first communicated to the network router via the privatenetwork, and the message is then routed by the network router to the AMEserver 105 and/or the media hosting server 110 via the public network.As used herein, the phrase “in communication,” including variationsthereof encompasses direct communication and/or indirect communicationthrough one or more intermediary components and does not require directphysical (e.g., wired) communication and/or constant communication, butrather additionally includes selective communication at periodic oraperiodic intervals, as well as one-time events.

In the illustrated example of FIG. 1, an audience measurement entity(AME) operates and/or hosts the example AME server 105. The AME of theillustrated example is an entity that monitors and/or reports access totagged media. For example, the AME may provide reports and/or userprofiles identifying geographic location and user device pairings. TheAME server 105 of the illustrated example is a server and/or databasethat collects and/or receives monitoring information related to taggedmedia (e.g., media having inserted or embedded executable instructionsthat causes the media view (e.g., an impression) to be recorded by, forexample, the AME server 105). The AME of the illustrated example is aneutral entity that is not involved with the distributing of media.

In the illustrated example of FIG. 1, a media provider operates and/orhosts the media hosting server 110 that responds to requests for mediathat may include tags. For example, the media provider may engage theAME to collect and/or monitor information related to media associatedwith the media provider. Such a media provider may wish to use taggedmedia in a media campaign to determine and/or improve the effectivenessof the media campaign. In some examples, the information returned inresponse to the request for media includes an instruction (e.g., a tag)to inform the AME server 105 of the accessing of tagged media. In someexamples, the information returned in response to the request for mediaincludes a reference to a tag and/or executable monitoring instructions.For example, the tag and/or executable monitoring instructions (e.g., anapplet) may be hosted at the AME server 105, which enables the AME todirectly control the content of the tag and/or executable monitoringinstructions. In some examples, the tag and/or executable monitoringinstructions are hosted at the media hosting server 110.

By including a reference to a tag and/or executable monitoringinstructions in the media, the content of the tag (e.g., executablemonitoring instructions) may be changed at any time without modifyingthe media. For example, the tag and/or executable monitoringinstructions may be updated to improve efficiency of collectinginformation for tagged media by updating the executable instructionshosted at the AME server 105 and/or the media hosting server 110. Asshown above, the tag may reside wholly in the media or may bedistributed between the media and the AME server 105 and/or the mediahosting server 110. Tagged media may, thus, include an executablemonitoring instruction that serves as a tag or a reference to monitoringinstructions stored at an external location such as a server. In thelatter case, the reference may be considered a first tag or a firstportion of a tag and the external instruction may be considered a secondtag or a second portion of a tag. In some examples, the media hostingserver 110 is operated and/or hosted by a third party. In addition, forsimplicity, only one media hosting server 110 is shown in FIG. 1,although multiple media hosting servers are likely to be present.

In the illustrated example of FIG. 1, the user device 115 is asmartphone (e.g., an Apple® iPhone®, a Motorola Moto X™, a Nexus 5, anAndroid™ platform device, etc.). However, any other type of device mayadditionally or alternatively be used such as, for example, a tablet(e.g., an Apple® iPad™, a Motorola™ Xoom™, etc.), a laptop computer, adesktop computer, a camera, an Internet compatible appliance, a smartTV, an Internet of Things-enabled device, etc. In the illustratedexample, the user device 115 is used (e.g., by a user) to access (e.g.,request, receive, render and/or present) online media that is tagged andreturned by the media hosting server 110. For example, the user mayexecute a web browser on the user device 115 to request streaming media(e.g., via an HTTP request or an HTTPS request) from the media hostingserver 110. In the illustrated example of FIG. 1, the user device 115sends media monitoring information to the AME server 105 in response toaccessing the tagged media.

As discussed above, a media provider may engage the AME to collectand/or monitor information related to media associated with the mediaprovider. For example, the media provider may want to compare theperformances of three distinct pieces of media (e.g., media A, B, C) toone another and/or to other media and/or to an expected or desiredperformance (e.g., reach and/or frequency) of the three pieces of media(e.g., media A, B C). In the illustrated example of FIG. 1, the AMEserver 105 includes an example tag handler 125 to facilitate taggingmedia A, B and C to enable the AME server 105 to track when and/or wheremedia is requested by, for example, the user device 115. In theillustrated example, the tag handler 125 of FIG. 1 provides tags and/orreferences to tags to the media hosting server 110 for inserting intomedia. For example, the tag handler 125 may provide the media hostingserver 110 an example tag A to include (e.g., insert, bed, etc.) in themedia A, an example tag B to include in the media B, and an example tagC to include in the media. C. As discussed above, a tag may be areference to monitoring instructions such that the reference, but notthe instructions are embedded in the media. Alternatively, the tag maybe the executable monitoring instructions (e.g., an applet) and may belocated directly in the media and/or at an external location accessibleto the media.

In the illustrated example, the tag handler 125 generates a tag that islater included in media hosted by the media hosting server 110. Based onthe preferences of the media provider and or the AME, the tag handler125 generates a tag that achieves the goals of the media provider and/orthe AME. The tag handler 125 generates tags that enable the AME server105 to collect and/or receive monitoring information related to thetagged media (e.g., media A, B and C). In some examples, the generatedtags are then stored in a data structure such as a lookup table, andused by the tag handler 125 to facilitate tagging media.

In some examples, the tag handler 125 generates the tags (e.g., the tagsA, B, C) and instructs the media hosting server 110 to include the tags(e.g., the tags A, B, C) into the corresponding media (e.g., media. A, Band C). In other examples, the tag handler 125 generates the tags (e.g.,the tags A, B, C) and embeds the tags (e.g., the tags A, B, C) into thecorresponding media (e.g., media A, B and C) and then provides thetagged media (e.g., the media A including tag A, the media B includingtag B, the media C including tag C) to the media hosting server 110.

In some examples, the tag handler 125 generates the tags (e.g., the tagsA, B, C) and instructs the media hosting server 110 to includereferences to the tags (e.g., the tags A, B, C) in the correspondingmedia (e.g., media A, B and C). For example, the media hosting server110 may embed a tag A reference into the media A, a tag B reference intothe media B, and a tag C reference into the media C. The tag references(A, B, C) may then be used to request the corresponding tag (e.g., thetag A, the tag B or the tag C). For example, when the media A includingthe tag A reference is accessed at the user device 115, the user device115 may also send a request for the tag A using the tag A reference. Insome such examples, the tag handler 125 generates the tags (e.g., thetags A, B, C) and the tag references (e.g., references to the tags A, B,C) and provides the tag references (e.g., references to the tags A, B,C) to the media hosting server 110 to insert into the correspondingmedia (e.g., media A, B, C) while the tag handler 125 stores the tags(e.g., the tags A, B, C). Thus, when the user device 115 accesses themedia including the tag reference, the user device 115 uses the tagreference to request the corresponding tag from the tag handler 125.

In other examples, the tag handler 125 provides the tags (e.g., the tagsA, B, C) and the tag references (e.g., references to the tags A, B, C)to the media hosting server 110. In some examples, the tag handler 125generates the tags (e.g., the tags A, B, C) and provides to the mediahosting server 110 the tags (e.g., the tags A, B, C) to include in thecorresponding media (e.g., media A, B, C) and instructions to generatereferences to the tags (e.g., the tags A, B, C). For example, the mediahosting server 110 may host the media to be tracked (e.g., media A, B,C), the tags (e.g., the tags A, B, C), generate references to the tagsA, B, C, and embed the references A, B, C into the corresponding media(e.g., media A, B, C). In some examples, when the user device 115accesses the media including the tag reference, the user device 115requests the corresponding tag from the media hosting server 110. Thus,for example, when executable instructions of a tag need to be updated(e.g., replaced with executable instructions that improve efficiency incollecting media monitoring information), neither the media nor thereference to the tag included in the media needs to be modified. Rather,the tag handler 125 enables modifying only the tag on the server side(e.g., the instructions referenced by the tag included in the media).

As described above, some media served by the media hosting server 110may be location-based or location-specific media. In some examples, inresponse to a media request from the user device 115, the example mediahosting server 110 utilizes user-location mappings to determine a homelocation associated with the user and/or user device 115 and servesmedia specific to the home location. For example, the media hostingserver 110 may compare user identifying information included in themedia request from the user device 115 to the user- location mappingsand determine a home location. In some examples, if the media hostingserver 110 is unable to map the user identifying information to a homelocation, the example media hosting server 110 may serve general orlocation-agnostic media such as media included in a national campaign.

To enable mapping user identifying information to home locations, theexample AME server 105 includes an example profile generator 130 and anexample profiles data store 135. In the illustrated example of FIG. 1,the AME server 105 includes the example profile generator 130 togenerate a profile for a user and/or user device associated with ageographic location. The example profile generator 130 of FIG. 1 parsesimpressions logged by the AME server 105 and identifies a geographiclocation, most likely a home geographic location, of a user of a userdevice (e.g., the user device 115 of FIG. 1). For example, the profilegenerator 130 parses the impressions, selects a user identifier, andtallies the respective number of impressions for the one or moregeographic locations associated with the user identifier.

In the illustrated example, the profile generator 130 stores theprofiles generated for respective user identifiers in the user profilesdata store 135. An example data table 800 representing example data thatmay be stored in the example user profiles data store 135 is shown inthe illustrated example of FIG. 8. The example user profiles data store135 may he implemented by a volatile memory (e.g., a Synchronous DynamicRandom Access Memory (SDRAM), Dynamic Random Access Memory (DRAM),RAMBUS Dynamic Random Access Memory (RDRAM), etc.) and/or a non-volatilememory (e.g., flash memory). The example user profiles data store 135may additionally or alternatively be implemented by one or more doubledata rate (DDR) memories, such as DDR, DDR2, DDR3, mobile DDR (mDDR),etc. The example user profiles data store 135 may additionally oralternatively be implemented by one or more mass storage devices such ashard disk drive(s), compact disk drive(s), digital versatile diskdrive(s), etc. While in the illustrated example the user profiles datastore 135 is illustrated as a single database, the user profiles datastore 135 may be implemented by any number and/or type(s) of databases.

FIG. 2 is a diagram of an example message path illustrating metering oftagged media. In the illustrated example of FIG. 2, the user device 115is in communication with the AME server 105 and/or the media hostingserver 110 via a private network and a public network. For example, whenthe user device 115 sends a message (e.g., a request, a beacon, etc.) tothe AME server 105 and/or the media hosting server 110, the message isfirst transmitted from the user device 115 to an example router 205 viaan example private network 210. The example router 205 then transmitsthe message to the AME server 105 and/or the media hosting server 110via an example public network 215 (e.g., the Internet). The exampleprivate network 210 may be implemented by a fixed network such as aWi-Fi network and/or a mobile network such as a cellular network.

In the illustrated example of FIG. 2, the example user device 115transmits a media request for media to the example media hosting server110, for example, via a browser and/or a non-browser based application.Communication between two entities on the Internet is conducted inaccordance with certain protocols (e.g., the Internet Protocol (IP)(e.g., IPv4 or IPv6), the Transmission Control Protocol (TCP), etc.). Inaccordance with TCP/IP, each device in a network (e.g., a privatenetwork and/or a public network) is assigned a network address (e.g., anIP address) at which the device can be accessed via the respectivenetwork. For example, for communications transmitted via the privatenetwork 210, the example user device 115 is assigned a first networkaddress 220 and the example router 205 is assigned a second networkaddress 225. In the illustrated example of FIG. 2, for communicationstransmitted via the public network 215, the router 205 is assigned athird network address 230, the example AME server 105 is assigned afourth network address 235 and the example media hosting server 104 isassigned a fifth network address 240.

In the illustrated example, the router 205 is assigned two networkaddresses to communicate via the two networks to which it is connected.For example, the router 205 receives and/or transmits communications viathe private network 210 at the example second network address 225. Inthe illustrated example, the router 205 receives and/or transmitscommunications via the public network 215 at the example third networkaddress 230.

In addition, each message communicated in accordance with TCP/IP from afirst device to a second device includes source identifying information(e.g., a network address associated with the first device), destinationidentifying information (e.g., a network address associated with thesecond device) and payload information corresponding to at least aportion of the message (e.g., the request for media, media monitoringinformation, etc.). In the illustrated example, the media request fromthe user device 115 to the media hosting server 110 is implemented as afirst media request 245 a from the user device 115 to the router 205 anda second media request 245 b from the router 205 to the media hostingserver 110. For example, the first media request 245 a includes sourceidentifying information (e.g., the first network address 220 associatedwith the user device 115), destination identifying information (e.g.,the second network address 225 associated with the router 205) andpayload information corresponding to at least a portion of the message(e.g., the request for media). In a similar manner, the example secondmedia request 245 b includes source identifying information (e.g., thethird network address 230 associated with the router 205), destinationidentifying information (e.g., the fifth network address 240 associatedwith the media hosting server 110) and payload information correspondingto at least a portion of the message (e.g., the request for media).

In some examples, the media requests 245 a, 245 b include a user agentidentifying characteristics of the user device 115 such as a browseridentifier, a device identifier, etc. In some examples, the user agentinformation may be used to different between enterprise/business usageand consumer/residential usage. For example, certain user agents areknown to be associated with mobile devices (e.g., a device identifierand/or a browser identifier associated with a smartphone or a tablet,etc.), while other user agents may be associated with user devices thatare typically used in enterprises/businesses.

As described above in connection with FIG. 1, the media hosting server110 of the illustrated example includes media (e.g., a website, animage, a video, etc.) that, when requested by the user device 115,causes the media hosting server 110 to respond with media 250. In theillustrated example of FIG. 2, the media 250 includes executableinstructions such as an applet (e.g., an example tag 255) that, whenexecuted by the user device 115, cause the user device 115 to send acommunication (or beacon) including monitoring information to the AMEserver 105. The tag 255 may be included in the requested media inaccordance with the teachings of Blumenau, U.S. Pat. No. 6,120,637.Accordingly, the user device 115 of the illustrated example of FIG. 2transmits an example beacon 260 to the AME server 105 via the router205.

In some such examples, the beacon 260 is a “dummy request” in that it isnot actually intended to return data. Instead, the beacon 260 is used tocarry monitoring information to the AME server 105. In some examples,the beacon 260 is implemented as an HTTP POST message, an HTTP GETmessage, or similar message used in present and/or future HTTPprotocols.

The AME server 105 of the illustrated example records that a request(e.g., the beacon 260) was received from the router 205 and also recordsany data contained in the beacon 260 (e.g., source identifyinginformation, destination identifying information and/or the payloadinformation (e.g., media monitoring information)). The AME server 105,in some examples, responds to the request with an acknowledgementmessage. In some examples, the acknowledgement message requests and/orsets a cookie in the user device 115 to, for example, enableidentification of subsequent beacons from the same user device. In someexamples, the acknowledgement message requests and/or stores an AMEgenerated user identifier at a local storage (e.g., web storage and/orDocument Object Model (DOM) storage provided by, for example, HTML5)within, for example, a browser.

FIG. 3 is a diagram of an example message path illustrating a portion ofthe message path of FIG. 2. In the illustrated example of FIG. 3, theexample message path illustrates a user device transmitting mediamonitoring information to an AME server via a fixed network and a publicnetwork. Specifically, the example message path of FIG. 3 includes theuser device 115 (FIGS. 1 and/or 2) in communication with an examplerouter 305 via a private network (e.g., the example private network 210of FIG. 2). In the illustrated example, the private network between theuser device 115 and the router 305 is implemented by an example Wi-Finetwork 310. The example router 305 of FIG. 3 is in communication withthe AME server 105 via the example public network 215 of FIG. 2 (e.g.,the Internet). In some examples, router 305 is in communication with thepublic network 215 via an Internet Service Provider, which is typicallya wired communication.

As described above, to communicate with other devices within theirrespective networks, the devices are assigned network addresses. Forexample, the user device 115 is assigned the first network address 220to identify the user device 115 to devices accessing the Wi-Fi network310 (e.g., the example router 305 or a proxy server).

Network routers connect one network to another network. Accordingly,network routers are assigned different network addresses within thedifferent networks. In the illustrated example of FIG. 3, to access therouter 305 within the network 310 (e.g., the user device 115), therouter 305 is assigned a second network address 315. To access therouter 305 within the public network 215 (e.g., the AME server 105and/or the example media hosting server 110), the router 305 is assigneda third network address 320. The example AME server 105 of FIG. 3 isassigned the fourth example network address 235 to identify the AMEserver 105 to devices accessing the public network 215 (e.g., theexample router 305 and/or the example media hosting server 110 of FIGS.1 and/or 2).

In the illustrated example of FIG. 3, the user device 115 transmitsmedia monitoring information to the AME server 105 (e.g., in response tothe user device 115 presenting the tagged media 250 (FIG. 2) andexecuting the executable instructions of the example tag 255. Morespecifically, in response to executing the executable instructions(e.g., the tag 255), the user device 115 transmits an example beacon 325a to the router 305 via the Wi-Fi network 310. The example beacon 325 aincludes source identifying information 330 (e.g., the first examplenetwork address 220 associated with the user device 115), destinationidentifying information 335 (e.g., the second example network address315 associated with the router 305) and payload information (e.g., mediamonitoring information 340). For example, the media monitoringinformation 340 of FIG. 3 includes user identifying information 345,location services information 350, media identifying information 355, atime stamp 360 and network identifying information 365.

In the illustrated example of FIG. 3, the user identifying information345 is an alphanumeric string that uniquely identifies a user and/or theuser device. For example, a user may sign-in to an application with auser identifier. The example user identifier is then associated with theactivities of the user. For example, requests to the media hostingserver 110 from the user device 115 and/or beacons transmitted to theAME server 105 may include the user identifier. The user identifier mayinclude a handle, a screen name, a panelist identifier, a login orsign-on name, an email address, an advertising identifier (e.g., an iOSadID, an Android IDFA, etc.), etc. In some examples, the useridentifying information 345 is an alphanumeric string that uniqueidentifies the user device 115. For example, the user identifyinginformation may include a Media Access Control (MAC) address, aninternational mobile equipment identity (MEI) number, a telephonenumber, an advertising identifier (e.g., an iOS adID, an Android IDFA,etc.), etc.

In the illustrated example of FIG. 3, the location services information350 is location services data corresponding to a geographic location atwhich the user device 115 accessed the media 250. For example, the userdevice 115 may include a positioning system (e.g., implemented by aglobal positioning system (GPS)) to enable identification of thegeographic location of the user device 115. In some such examples, whenthe user permits the user device 115 and/or an application to access thepositioning system, the user device 115 and/or the application insertsdata specifying the device location (e.g., GPS coordinates). In someexamples, a user device may not include a positioning system and/or ageographic location information receiving interface and/or theapplication requesting the media (e.g., a browser) may not have accessto the positioning system of the user device. In some such examples, theuser device transmits the beacon 325 a without location servicesinformation.

In the illustrated example of FIG. 3, the media identifying information355 is data specifying the media. For example, the media identifyinginformation 355 may include a filename, a universal resource locator(URL), a website address, a watermark, a signature, metadata, etc. Inthe illustrated example, the time stamp 360 corresponds to a date and/ortime when the media was accessed (e.g., information specifying when theuser was exposed to the media 250 and/or when the media 250 was receivedat the user device 115). In the illustrated example, the networkidentifying information 365 is an indicator of the type of network usedby the user device 115 to transmit the beacon 325 a. For example, thenetwork identifying information 365 may indicate whether the beacon 325a was transmitted via a cellular network or a Wi-Fi network. In someexamples, the network identifying information 365 indicates whichnetwork radio of the user device 115 was enabled. For example, thenetwork identifying information 365 may indicate whether a Wi-Fi radiowas enabled or a cellular radio was enabled. In some examples, thenetwork identifying information 365 may identify additional informationregarding the network such as the frequency, the band and/or thecellular radio type (e.g., 3G, 4G, LTE, etc.) used to transmit thebeacon 325 a.

The example router 305 of FIG. 3 then transmits a beacon 325 b to theAME server 105 via the public network 215. In the illustrated example,the beacons 325 a, 325 b represent the same beacon at different pointsin time. The example beacon 325 b includes the media monitoringinformation 340 included in the beacon 325 a transmitted by the userdevice 115. However, in the illustrated example, the source identifyinginformation 330 included in the user device-originated beacon 325 a andthe source identifying information 330 included in the router-originatedbeacon 325 b are different. For example, the source identifyinginformation 330 included in the device-originated beacon 325 aidentifies the first network address 220 associated with the user device115. In contrast, the source identifying information 330 included in therouter-originated beacon 325 b identifies the third network address 320associated with the router 305.

In some examples, the router 305 encrypts the information included inthe beacon 325 b prior to transmitting the beacon 325 b to the AMEserver 105. The AME server 105 of the illustrated example records that arequest (e.g., the beacon 325 b) was received from the router 305 andalso records any data contained in the beacon 325 b (e.g., sourceidentifying information 330, media monitoring information 345, a cookie,etc.). Accordingly, the AME server 105 of the illustrated examplerecords the third network address 320 associated with the router 305 asthe source of the beacon 325 b.

Typically, the source identifying information (e.g., the networkaddress) in a message is used to associate a geographic location withthe user. For example, a database may map IP addresses to correspondinggeographic locations. However, as described above, the sourceidentifying information of the beacon may not represent the user devicethat originated the beacon. Instead, in some examples, the sourceidentifying information may represent an intermediary device (e.g., therouter 305 or a proxy server) that transmitted the beacon 325 b to theAME server 105. Thus, the source identifying information 330 retrievedfrom the beacon is not always a reliable identifier of the geographiclocation of the user when accessing the media identified in the beacon.

In the illustrated example of FIG. 3, the AME server 105 parses thebeacon 325 b for location services information 350. In some suchexamples, the AME server 105 utilizes the location services information350 retrieved from the beacon to identify a geographic location toassociate with the user and/or the user device 115. For example, the AMEserver 105 may map GPS coordinates included in the beacon 325 b to ageographic location.

In some examples, when the AME server 105 determines that the beacon 325b does not include location services information (e.g., does not includeGPS coordinates), the AME server 105 parses the received beacon todetermine whether the source identifying information is a reliablelocation identifier. For example, when a user device 115 transmits abeacon (e.g., the beacon 325 a) via the Wi-Fi network 310, the locationof the user device 115 and the router 305 are within the same generalgeographic area (e.g., the user device 115 is within 30 meters of therouter 305 and/or a proxy server). For example, the AME server 105 maycompare the source identifying information 330 to network addressesassociated with Internet Service Providers (ISPs), cellular networkproviders, etc. In some examples, the AME server 105 may use networkidentifying information 365 included in the beacon 325 b to determinethe network connection used to transmit the beacon from the user device115. In the illustrated example of FIG. 3, when the AME server 105determines that the source identifying information 330 corresponds tocommunication via the Wi-Fi network 310, the location of the user device115 can be assumed to be within the same general geographic area as therouter 305. Accordingly, the AME server 105 utilizes the sourceidentifying information of the router 305 (e.g., the third examplenetwork address 320) as an identifier of the geographic location of theuser and/or the user device 115.

FIG. 4 is a diagram of another example message path illustrating aportion of the message path of FIG. 2. In the illustrated example ofFIG. 4, the example message path illustrates a user device transmittingmedia monitoring information to an AME server via a mobile network and apublic network. Specifically, the example message path of FIG. 4includes the user device 115 (FIGS. 1 and/or 2) in communication with anexample router 405 via a private network (e.g., the example privatenetwork 210 of FIG. 2). In the illustrated example of FIG. 4, theprivate network between the user device 115 and the router 405 isimplemented by an example cellular network 410. To communicate via thecellular network 410, the example user device 115 is assigned thenetwork address 220 (FIG. 2) and the router 405 is assigned a cellularnetwork-network address 412. The example router 405 of FIG. 4 is incommunication with the AME server 105 via the example public network 215of FIG. 2 (e.g., the Internet). To communicate via the public network215, the example router 405 is assigned a public network-network address414 and the AME server 105 is assigned the network address 235 (FIG. 2).

In the illustrated example of FIG. 4, a cellular network provider 416maintains the router 405 and provides the cellular network 410. Theexample cellular network provider 416 of FIG. 4 also maintains anexample antenna database 420 and an example logger 425. The examplecellular network provider 416 implements the cellular network 410 ofFIG. 4 via example antennas 430. Messages communicated within thecellular network 410 are transmitted between one or more antennas 430prior to being received at the router 405. For example, a first antenna430 a may receive a message from the user device 115 and forward themessage to a second antenna 430 b, which may then forward the message toanother antenna 430 until an antenna 430 n forwards the message to therouter 405. In addition, each of the antennas 430 in the cellularnetwork 410 are assigned a respective network address (e.g., a cellularnetwork-network address) that may be used to access the respectiveantenna 430.

The example cellular network provider 416 maintains the example antennadatabase 420 to associate the antennas 430 with respective geographiclocations. For example, the antenna database 420 may map an antennaidentifier (e.g., a device identifier, a network address, etc.) of anantenna 430 to corresponding location services information (e.g., GPScoordinates provided by a positioning system). The example antennadatabase 420 may be implemented by a volatile memory (e.g., aSynchronous Dynamic Random Access Memory (SDRAM), Dynamic Random AccessMemory (DRAM), RAMBUS Dynamic Random Access Memory (RDRAM), etc.) and/ora non-volatile memory (e.g., flash memory). The example antenna database420 may additionally or alternatively be implemented by one or moredouble data rate (DDR) memories, such as DDR, DDR2, DDR3, mobile DDR(mDDR), etc. The example antenna database 420 may additionally oralternatively be implemented by one or more mass storage devices such ashard disk drive(s), compact disk drive(s), digital versatile diskdrive(s), etc. While in the illustrated example the antenna database 420is illustrated as a single database, the antenna database 420 may beimplemented by any number and/or type(s) of databases.

The example logger 425 of FIG. 4 logs communications routed through thecellular network 410 in, for example, the antenna database 420. Forexample, the logger 425 may log the path taken by messages by recordingan antenna identifier such as the network address of an antenna thatreceives a message, an antenna identifier of an antenna that forwards amessage, a time tamp representing when the message was transmitted byand/or received at the respective antenna 430, etc. In the illustratedexample, the logger 425 leverages knowledge of the cellular network 410to associate location services information (e.g., GPS coordinates) withthe respective antennas 430. For example, the logger 425 may query theantenna database 420 for GPS coordinates for an antenna using anidentifier of the antenna. In some examples, the router 405 and/or thelogger 425 may encrypt information included in messages prior totransmitting and/or forwarding the message.

In operation, in response to presenting requested media including a tag(e.g., the media 250 of FIG. 2 including the tag 255), the user device115 executes the executable instructions (e.g., the corresponding tags),which causes the user device 115 to send media monitoring information tothe AME server 105. In the illustrated example, in response to executingthe executable instructions, the user device 115 transmits an exampleuser device-originated beacon 435 a via the cellular network 410 A firstantenna 430 a receives the user device-originated beacon 435 a andforwards the media monitoring information 340 to a second antenna 430 b,etc., until an antenna 430 n forwards the media monitoring information340 to the router 405. For example, the example antenna 430 n mayforward an antenna-originated beacon 435 b including the mediamonitoring information 340 to the router 405. In the illustratedexample, the example router 405 receives the antenna-originated beacon435 b from the antenna 430 n in the cellular network 410 at the cellularnetwork-network address 412 of the router 405. Additionally oralternatively, the first antenna 430 a may forward the media monitoringinformation 340 to the router 405 via, for example, a land connection.In some examples, using a land connection to forward the mediamonitoring information 340 to the router 405 may be advantageous to thecellular network provider 416 in conserving the wireless capacity oftheir network.

The example logger 425 records the path taken by the beacon 435 from theuser device 115 to the router 405 via one or more of the antenna(s) 430.For example, the logger 425 may record an antenna identifier associatedwith the first antenna that received the user device-originated beacon435 a, an antenna identifier associated with a second antenna thatreceived forwarded information from the first antenna, etc., a timestamp identifying when the antenna-originated beacon 435 b was receivedat the router 405, etc. In some examples, the logger 425 modifies themedia monitoring information 340 included in the antenna-originatedbeacon 435 b to include location services information. For example, thelogger 425 may leverage the antenna-geographic location mappingsincluded in the antenna database 420 and insert (e.g., embed) GPScoordinates associated with the first antenna 430 a that received theuser device-originated beacon 435 a from the user device 115. In somesuch examples, the router-originated beacon 435 c includes the locationservices information 350 provided by the logger 425. In some examples,the router 405 and/or the logger 425 encrypts the media monitoringinformation 340.

In the illustrated example of FIG. 4, the router 405 forwards therouter-originated beacon 435 c to the AME server 105 via the publicnetwork 215. The AME server 105 of the illustrated example records thata request (e.g., the router-originated beacon 435 c) was received fromthe router 405 and also records any data contained in therouter-originated beacon 435c (e.g., the source identifying information330, the media monitoring information 340, etc.). As described above,the AME server 105 of the illustrated example records the sourceidentifying information of the device (e.g., the router 405) thattransmitted the router-originated beacon 435 c to the AME server 105.Accordingly, the AME server 105 records the public network-networkaddress 414 of the router 405.

In the illustrated example of FIG. 4, the beacons 435 a, 435 b, 435 care transmitting the same media monitoring information 340, but includedifferent source identifying information 330 and destination identifyinginformation 335. For example, the user device-originated beacon 435 aincludes source identifying information corresponding to the networkaddress 220 of the user device 115 and destination identifyinginformation corresponding to the first antenna 430 a in the cellularnetwork 410. The example antenna-originated beacon 435 b includes sourceidentifying information corresponding to a network address of theantenna 430 n and destination identifying information corresponding tothe cellular network-network address 412 of the router 405. The examplerouter-originated beacon 435 c includes source identifying informationcorresponding to the public network-network address 414 of the routerand destination identifying information corresponding to the networkaddress 235 of the AME server 105. In the illustrated example, the mediamonitoring information 340 correspond to the media (e.g., the media 250)accessed at the user device 115. In some examples, the media monitoringinformation 340 received at the AME server 105 may additionally oralternatively include location services information provided by thelogger 425.

In the illustrated example, when a cellular network is used to transmita beacon, the location of the user device and the router may be or maynot be within the same general area and, thus, the source identifyinginformation retrieved by the AME server from the beacon 435 may not be areliable identifier of the geographic location of the user of the userdevice. For example, consider an example in which the cellular networkprovider 416 operates in the Midwest and directs all traffic within thecellular network 410 to the router 405, which is located in Chicago,Ill. In some such examples, the media monitoring information 340 mayoriginate in, for example, Dallas, Tex., and be routed through a seriesof antennas 430 before finally being received by the router 405 inChicago. Accordingly, the geographic location of the router 405 (e.g.,Chicago, Ill.) is not a reliable identifier of the geographic locationof the user of the user device 115 (e.g., Dallas, Tex.).

In the illustrated example of FIG. 4, the AME server 105 parses therouter- originated beacon 435 c to determine whether the sourceidentifying information is a reliable location identifier. As describedabove, the AME server 105 parses the router-originated beacon 435 c forlocation services information. For example, the user device 115 mayinclude a positioning system (e.g., implemented by a global positioningsystem (GPS)) to enable identification of the geographic location of theuser device 115. In some such examples, when the user permits the userdevice 115 and/or an application to access the positioning system, theuser device 115 and/or the application inserts data specifying thedevice location (e.g., GPS coordinates). In the illustrated example,when the AME server 105 determines that the router-originated beacon 435c does not include location services information, the example AMR server105 determines whether the source identifying information is a reliablelocation identifier based on the network connection type used by theuser device 115 to communicate the media monitoring information 340.

Additionally or alternatively, the cellular network provider 416 mayinsert location services information in the router-originated beacon 435c transmitted to the AME server 105. For example, the logger 425 mayinsert (e.g., in the router-originated beacon 435 c) GPS coordinatesassociated with the first antenna 430 a that received the userdevice-originated beacon 435 a. In the illustrated example, in order forthe user device 115 to connect with the first antenna 430 a, the userdevice 115 and the first antenna 430 a are assumed to be in the samegeneral area. In some such examples, the AME server 105 utilizes thelocation services information retrieved from the router-originatedbeacon 435 c to identify a geographic location to associate with theuser and/or the user device 115. However, if a user device does notinclude a positioning system and/or a geographic location informationreceiving interface and/or the application requesting the media (e.g., abrowser) does not have access to the positioning system of the userdevice and/or the logger 425 does not insert location servicesinformation, the router- originated beacon 435 c is received by the AMEserver 105 without location services information.

In some examples, the AME server 105 may determine that the sourceidentifying information 330 is an unreliable location identifier (e.g.,the beacon was transmitted via the cellular network 410) and that thereceived router-originated beacon 435 c does not include locationservices information 350. In some such examples, the AME server 105requests location services information from the cellular networkprovider 416. For example, the AME server 105 may send a request 440querying the cellular network provider 416 using the user identifyinginformation 345 and/or the time stamp 360 extracted from therouter-originated beacon 435 c. In some such examples, the logger 425receives the request 440 for location services information and returnslocation services information retrieved from the antenna database 420based on the user identifying information 345 and/or the time stamp 360.For example, the logger 425 may identify a recorded message path basedon the user identifying information 345 and/or the time stamp 360. Insome such examples, the logger 425 may map the identified message pathto the first antenna 430 a that received the corresponding user device-originated beacon 435 a and query the antenna database 420 for locationservices information (e.g., GPS coordinates) for the correspondingantenna 430.

FIG. 5 is a block diagram of an example implementation of the AME server105 of FIGS. 1-3 and/or 4. The example AME server 105 of the illustratedexample includes the example tag handler 125, the example profilegenerator 130, the example user profiles data store 135, an examplebeacon handler 505, an example beacon parser 510, an example decrypter515, an example tagged impression logger 520, an example taggedimpressions database 525, an example network classifier 530, an examplelocation identifier handler 535, an example location retriever 540, anexample location mapper 545, an example geographic database 550, anexample location classifier 555 and an example time stamper 560. Asdiscussed above, the AME server 105 includes the example tag handler 125to facilitate tagging media. For example, the tag handler 125 mayinstruct the media hosting server 110 to insert the tag 255 (which maybe a reference to an external tag) into the media 250. For example, thetag handler 125 may provide the media hosting server 110 executableinstructions (e.g., the tag 255, an applet, etc.) to embed into themedia 250. In some examples, the tag handler 125 instructs the mediahosting server 110 to insert a reference to the tag 255 into the media250 and the tag 255 is hosted outside the media. In some such examples,when the user device 115 accesses the media 250, the user device 115also sends a request for the tag 255 using the reference. In theillustrated example, when the tag handler 125 instructs the mediahosting server 110 to insert a reference to the tag 255, the tag 255 maybe hosted at the media hosting server 110 and/or at the AME server 105.

In the illustrated example of FIG. 5, the AME server 105 includes theexample beacon handler 505 to facilitate communication with user devices(e.g., the user device 115 of FIGS. 1-3 and/or 4). For example, thebeacon handler 505 may receive dummy requests from the user device 115executing the executable instructions (e.g., the tag 255). In someexamples, the beacon handler 505 sends an acknowledgement response tothe user device 115 in response to receiving the dummy request. In otherexamples, the beacon handler 505 provides no response.

In the illustrated example of FIG. 5, the AME server 105 includes theexample beacon parser 510 to extract information (e.g., the sourceidentifying information 330, the media monitoring information 340, etc.)included in a received beacon (e.g., the example beacon 325 b of FIG. 3,the example beacon 435 c of FIG. 4 and/or, more generally, the examplebeacon 260 of FIG. 2). For example, the beacon parser 510 may identifythe location services information 350 of FIGS. 3 and/or 4 included inthe media monitoring information 340. In some examples, the beaconparser 510 may identify a user agent and/or a beacon header identifyingan application and/or the user device 115. For example, the user agentmay include a media access control (MAC) address, an internationalmobile equipment identity (IMEI) number, a telephone number, etc.associated with the user device 115 (e.g., the user identifyinginformation 345 of FIGS. 3 and/or 4).

In some examples, the beacon parser 510 may identify a media identifieridentifying the media that was accessed at the user device 115 (e.g.,the media identifying information 355 of FIGS. 3 and/or 4)). In someexamples, the beacon parser 510 may identify and/or set a cookieenabling identification of subsequent beacons from the same user device.In some examples, the beacon parser 510 may be unable to identifylocation services information 350 in the beacon 260. For example, whenthe media monitoring information 340 is sent from a user device thatdoes not include a positioning system and/or does not have access to apositioning system, the beacon 260 will not have the location servicesinformation 350. In addition, the beacon 260 may not include thelocation services information 350 when the media monitoring information340 is communicated from the user device 115 to the AME server 105 via amobile network (e.g., the example cellular network 410 of FIG. 4) thatdoes not modify the media monitoring information 340 to include locationservices information.

In some examples, the beacon parser 510 may parse the beacon 260 andidentify an additional IP address. For example, the HTTP/HTTPS protocolsupports the use of an additional IP address in the HTTP header(sometimes referred to as an X-Forwarded-For header field). In someinstances, the IP address included in the X-Forwarded-For header fieldmay represent a relatively more accurate indication of the sourcelocation of the user device 115 that communicated the beacon 260. Insome such instances, when the beacon parser 510 identifies an IP addressin the X-Forwarded-For header field of the beacon 260, the examplebeacon parser 510 identifies the X-Forwarded-For IP address as thelocation services information 350.

In the illustrated example of FIG. 5, the AME server 105 includes theexample decrypter 515 to decrypt information in the received beacon 260.For example, information included in the beacon 260 ay be encrypted. Forexample, the executable tag 255 may cause the user device 115 to encryptthe location services information 350 and/or the media monitoringinformation 340 prior to including the location services information 350in the media monitoring information 340. In other examples, the routers305, 405 of FIGS. 3 and 4, respectively (and/or, more generally, theexample router 205 of FIG. 2) and/or the example logger 425 of FIG. 4may encrypt the location services information 350 and/or the mediamonitoring information 340 prior to communicating the media monitoringinformation 340 to the AME server 105. In this manner, personal datasuch as precise location data that may identify where a user isaccessing media is protected. In some such examples, the decrypter 515may be used to decrypt the information included in the beacon 260 priorto the beacon parser 510 parsing the beacon 260.

In the illustrated example of FIG. 5, the AME server 105 includes theexample tagged impression logger 520 to credit (or log) impressions tomedia based on the media monitoring information 340 included in thebeacon 260. For example, the tagged impression logger 520 may list thecorresponding media (e.g., via one or more media identifiers) in a datastructure. In some examples, the tagged impression logger 520 appendsand/or prepends additional information crediting the identified mediawith an exposure. For example, the tagged impression logger 520 mayidentify a media source from which the media was received (e.g., avendor identifier, a URL, etc.), a network address of the source and/oran identifier of the user device 115 (e.g., an international mobileequipment identity (IMEI) number, a cookie, a MAC address, etc.). Inaddition, the tagged impression logger 520 may append a time stamp fromthe example time stamper 560 indicating the date and/or time when thebeacon 260 was received by the AME server 105. This time stamp may be inaddition to a time stamp applied at the user device 115 to identify themedia access time (e.g., the time stamp 360 of FIGS. 3 and/or 4).

In the illustrated example, the tagged impression logger 520 stores thetagged impressions for media in the tagged impressions database 525. Anexample data table 700 representing tagged impressions is shown in theillustrated example of FIG. 7. The example tagged impressions database525 may be implemented by a volatile memory (e.g., a Synchronous DynamicRandom Access Memory (SDRAM), Dynamic Random Access Memory (DRAM),RAMBUS Dynamic Random Access Memory (RDRAM), etc.) and/or a non-volatilememory (e.g., flash memory). The example tagged impressions database 525may additionally or alternatively be implemented by one or more doubledata rate (DDR) memories, such as DDR, DDR2, DDR3, mobile DDR (mDDR),etc. The example tagged impressions database 525 may additionally oralternatively be implemented by one or more mass storage devices such ashard disk drive(s), compact disk drive(s), digital versatile diskdrive(s), etc. While in the illustrated example the tagged impressionsdatabase 525 is illustrated as a single database, the tagged impressionsdatabase 525 may be implemented by any number and/or type(s) ofdatabases.

In the illustrated example of FIG. 5, the AME server 105 includes theexample network classifier 530 to classify the network connection usedby the user device 115 to transmit the media monitoring information 340to the AME server 105. For example, the network classifier 530 mayclassify the network as a Wi-Fi network or a cellular network. In someexamples, the network classifier 530 classifies the network connectionbased on a flag (e.g., network identifying information 365 of FIGS. 3and/or 4) included in the media monitoring information 340. For example,when the user device 115 generates the media monitoring information 340,the user device 115 may determine whether a cellular radio of the userdevice 115 is being used to transmit the media monitoring information340 or a Wi-Fi radio of the user device 115 is being used to transmitthe media monitoring information 340. In some such examples, the userdevice 115 may include network identifying information 365 (e.g., a flagvalue set to true, cellular, etc.) indicating the networkconnection-type is a cellular network when the cellular radio is enabledand/or network identifying information 365 (e.g., a flag set to false,Wi-Fi, etc.) indicating the network connection-type is a Wi-Fi networkwhen the Wi-Fi radio is enabled.

In some examples, the network classifier 530 classifies the networkconnection-type based on source identifying information. For example,the network classifier 530 may compare the source identifyinginformation 330 including in the beacon 260 to a data structure of knownnetwork address-service provider pairings. For example, when the sourceidentifying information (e.g., a network address) is associated with anInternet service provider, the network classifier 530 may classify thenetwork connection used to transmit the media monitoring information 340as a Wi-Fi network. In some examples, when the source identifyinginformation is associated with a cellular network provider, the networkclassifier 530 may classify the network connection used to transmit themedia monitoring information 340 as a cellular network.

In the illustrated example of FIG. 5, the AME server 105 includes theexample location identifier handler 535 to determine a locationidentifier to use to accurately determine the geographic location of theuser device 115. As described above, a location identifier correspondsto a geographic location. In the illustrated example, the AME server 105uses the location identifier to associate user devices with respectivegeographic locations. In the illustrated example, the locationidentifier handler 535 records the selected location identifier with thecorresponding tagged impression in the tagged impressions database 525.In some examples, the location identifier handler 535 alters and/orobfuscates the location identifier prior to recording the locationidentifier in the tagged impressions database 525. For example, thelocation identifier handler 535 may decrease the resolution of thelocation identifier, for example, to comply with personal identificationinformation regulations.

The location identifier handler 535 of the illustrated example of FIG. 5determines whether to select the source identifying information 330 ofthe beacon 260 or to select location services information 350 includedin the media monitoring information 340 as the location identifier. Insome examples, the location identifier handler 535 makes thedetermination based on the presence of the location services information350. For example, the location services information 350 may include aflag indicating that the application requesting the media (e.g., abrowser) had access to the positioning system of the user device 115. Insome such examples, because the user device 115 had access to apositioning system and the location services information 350 isindicative of the geographic location of the user device 115, theexample location identifier handler 535 uses the location servicesinformation 350 as the location identifier. In other examples, forexample, when the application requesting the media (e.g., a browser) didnot have access to the positioning system of the user device 115, butthe beacon media monitoring information 340 includes location servicesinformation, the network classifier 530 classifies the networkconnection-type used by the user device 115 to transmit the mediamonitoring information 340 as a cellular network.

In the illustrated example of FIG. 5, when the location identifierhandler 535 determines that the application requesting the media (e.g.,a browser) did not have access to the positioning system of the userdevice 115, the location identifier handler 535 determines the locationidentifier to select based on the network classification (e.g., a Wi-Finetwork and/or a cellular network) of the network used to transmit themedia monitoring information 340 to the AME server 105, as determined bythe network classifier 530. For example, when the network classifier 530classifies the network connection-type a fixed-location network (e.g.,the example Wi-Fi network 310 of FIG. 3), the example locationidentifier handler 535 of FIG. 5 elects to use the source identifyinginformation 330 of the beacon 260 as the location identifier and. Forexample, the router used in a Wi-Fi network is typically located at afixed address. In addition, due to the limited range of a Wi-Fi network,the user device 115 and the router 205 are typically in the same generalgeographic area (e.g., within a residence, within a small business,etc.). Thus, the source identifying information 330 of the router (e.g.,the Wi-Fi network-network address 315 of the router 305 of FIG. 3 and/ora proxy server) is a reliable (e.g., accurate) identifier of thegeographic location of the user and/or the user device 115. However, asdescribed below, in instances where the Wi-Fi network is associated witha business location, the source identifying information 330 of therouter is determined to not be a reliable identifier of the geographiclocation of the user and/or the user device 115.

In some examples, when the media monitoring information 340 istransmitted by the user device 115 via a mobile network (e.g., theexample cellular network 410 of FIG. 4), the provider of the mobilenetwork may modify the media monitoring information 340 to includelocation services information 350. For example, the example logger 425of FIG. 4 may insert (or embed) GPS coordinates corresponding to theantenna (e.g., the example antenna 430 a) that the user device 115 is inconnection with. In some such examples, the location identifier handler535 selects the location services information 350 from the mediamonitoring information 340 as the location identifier.

In some examples, the provider of the mobile network may not modify themedia monitoring information 340 to include location servicesinformation 350. In some such examples, the media monitoring information340 does not include location services information 350 (e.g., GPScoordinates). However, the example location identifier handler 535 ofFIG. 5 may determine that the network connection-type used by the userdevice 115 to transmit the media monitoring information 340 was not afixed-location network (e.g., as provided by the network classifier530). In some such examples, the location identifier handler 535determines that the source identifying information 330 of the beacon 260is not a reliable (e.g., accurate) identifier of the geographic locationof the user and/or the user device 115. In some such examples, thelocation identifier handler 535 records the location identifier for thecorresponding impression entry as unknown (e.g., not available (N/A),null, etc.).

In the illustrated example of FIG. 5, the AME server 105 includes theexample location retriever 540 to retrieve location services informationfor impression entries with unknown location identifiers. The examplelocation retriever 540 of the illustrated example of FIG. 5 generates aquery (or queries) to be transmitted to the provider of the mobilenetwork used by the user device 115 to transmit the beacon 260. In theillustrated example, the location retriever 540 reads the impressionentries from the tagged impressions database 525 to identify theimpression entries with unknown location identifiers and generates aquery (or queries) requesting location services information (e.g., GPScoordinates) for some or all impression entries with an unknown locationidentifier in the tagged impressions database 525. For example, thelocation retriever 540 may generate a query including user identifyinginformation 345 and/or a time stamp of when the beacon 260 was receivedat the ANTE server 105 and/or the time stamp 360 indicating when theuser device 115 transmitted the media monitoring information 340.

In examples disclosed herein, the example location retriever 540generates queries to be transmitted at periodic intervals (e.g., every24 hours, every Monday, etc.). However, any other time period mayadditionally or alternatively be used for preparing queries. Forexample, the location retriever 540 may generate queries at aperiodicintervals (e.g., when requested) and/or as a one-time event.Additionally or alternatively, instead of generating queries as they areto be transmitted, the example location retriever 540 may generatequeries ahead of time and cache the pre-generated queries.

The example location retriever 540 of the illustrated example of FIG. 5transmits the queries to the cellular network provider 416 (e.g., to thelogger 425 of FIG. 4). In the illustrated example, the queries aretransmitted via the public network 215 as the results of those queriesare needed for analysis (e.g., at the end of a time period). However,the queries and their associated results may be transmitted in any otherfashion. Additionally or alternatively, the queries may be transmittedto the logger 425 ahead of time, and results (e.g., location servicesinformation corresponding to the provided user identifying information345 and/or time stamp information) may be returned upon expiration ofthe time period. Its response to the query, the example locationretriever 540 receives information associated therewith relevant to theparticular impression of interest (e.g., location services information(e.g., GPS coordinates) associated with the antenna 430 with which theuser device 115 was in connection.

In the illustrated example of FIG. 5, the AME server 105 includes theexample location mapper 545 to map a location identifier to acorresponding geographic location. In the illustrated example of FIG. 5,the location mapper 545 accesses a geographic database 550 that maps alist of location identifiers to their corresponding geographiclocations. For example, the location mapper 545 may match the locationidentifier (e.g., source identifying information 330 such as a networkaddress and/or location services information 350) to a geographiclocation. In some examples, the geographic database 550 may include afirst data structure that maps source identifyinginformation-to-geographic locations and include a second data structurethat maps location services information-to-geographic locations. Themappings may be as precise as determining a location identifier (e.g.,source identifying information or location services information) to thenearest city block or to a geographic region (e.g., Cook County, Ill.).In some examples, the location mapper 545 may find the exact locationidentifier in the geographic database 550 or, alternatively, by matchinga portion of the location identifier within the geographic database 550.For example, the location mapper 545 may match a prefix of the networkaddress to a prefix and/or a network address range within the geographicdatabase 550.

In the illustrated example, when the location mapper 545 matches thelocation identifier of the impression to a location identifier and/orportion of a location identifier in the geographic database 550, thelocation mapper 545 associates the corresponding geographic location tothe user identifier and/or the tagged impression entry. The associatedgeographic location may include a county, a state, a region, a city, atown, a zip code and/or a block. The resolution of the geographiclocation may depend on the specificity of geographic locationinformation in the geographic database 550. In some examples, theresolution of the geographic location may depend on privacy protectionprotocols and/or legal regulations. For example, a privacy protectionprotocol may define an acceptable geographic region to be at least onesquare mile in area. In some such examples, the associated geographiclocation in the geographic database 550 may include geographic locationsthat are at least one square mile in area, and the user of the userdevice 115 could be anywhere within that one square mile of area.

The example geographic database 550 may be implemented by a volatilememory (e.g., a Synchronous Dynamic Random Access Memory (SDRAM),Dynamic Random Access Memory (DRAM), RAMBUS Dynamic Random Access Memory(RDRAM), etc.) and/or a non-volatile memory (e.g., flash memory). Theexample geographic database 550 may additionally or alternatively beimplemented by one or more double data rate (DDR) memories, such as DDR,DDR2, DDR3, mobile DDR (mDDR), etc. The example geographic database 550may additionally or alternatively be implemented by one or more massstorage devices such as hard disk drive(s), compact disk drive(s),digital versatile disk drive(s), etc. While in the illustrated examplethe geographic database 550 is illustrated as a single database, thegeographic database 550 may be implemented by any number and/or type(s)of databases.

In the illustrated example of FIG. 5, the AME server 105 includes theexample location classifier 555 to parse the impressions in the taggedimpressions database 525 and to classify the impressions that likelycorrespond to a business location rather than, for example, aresidential location. In the illustrated example, the locationclassifier 555 parses the source identifying information 330 and talliesthe number of impressions associated with the same source identifyinginformation. When the number of impressions associated with the samesource identifying information satisfies a business threshold, thecorresponding source identifying information is likely associated with abusiness. For example, when the number of impressions associated with afirst network address is equal to and/or greater than the businessthreshold (e.g., 10 impressions), then the location classifier 555classifies the first network address as a business location.

In some examples, the location classifier 555 uses timestamps associatedwith the impressions when determining whether the source identifyinginformation is likely associated with a business location. For example,impressions that are received during business hours may indicate thatsource identifying information corresponding to business-hourimpressions are likely business locations. Additionally oralternatively, impressions that are received during early morning orlate evening may indicate that the corresponding source identifyinginformation is likely a residence/home location.

In some examples, the location classifier 555 processes the impressionsassociated with a fixed-location network connection to identify thesource identifying information 330 likely associated with a businessrather than a residence. For example, the intranet traffic of acorporate office located in Atlanta, Ga. may be routed to a router atthe corporate headquarters located in New York City, N.Y. In some suchexamples, user devices that transmit media monitoring information 340through the corporate intranet (e.g., a Wi-Fi network) are received atthe AME server 105 from the same source address (e.g., the sourceidentifying information associated with the router located in New YorkCity). In the illustrated example, if the number of impressionsassociated with the source identifying information of the New York Cityrouter satisfies (e.g., is greater than or equal to) a businessthreshold, the example location classifier 555 classifies thecorresponding impressions as associated with businesses. The examplelocation classifier 555 then records that the corresponding impressionsare associated with a business location in the tagged impressionsdatabase 525.

In some examples, the locations classifier 555 may be pre-populated withlocation classifications based on known IP addresses. For example, IPaddresses may be collected from panelists with known locations (e.g., attheir home or at a business). In some such examples, when sourceidentifying information corresponds to a known IP address, thecorresponding location (e.g., residence or business location) can beapplied to the impression.

Additionally or alternatively, in some examples, the locationsclassifier 555 may learn location classification thresholds over time.For example, in addition to source identifying information, thelocations classifier 555 may also receive an indication whether thesource identification information corresponds to a business location ora residential location. In some such examples, a tally for thecorresponding location is recorded for corresponding source identifyinginformation. Thus, after iterations of receiving source identifyinginformation and location classifications, the locations classifier 555“learns” the likelihood (or probability) that particular sourceidentifying information (e.g., an IP address) corresponds to a businesslocation or a residential location. However, any other technique for“teaching” the locations classifier 555 location classifications mayadditionally or alternatively be used.

In the illustrated example of FIG. 5, the AME server 105 includes theexample profile generator 130 to generate a profile for a user and/oruser device associated with a geographic location. The example profilegenerator 130 of FIGS. 1 and/or 5 parses the impressions in the taggedimpressions database 525 and identifies a geographic location mostlylikely a home geographic location of a user and/or a user device 115.For example, the profile generator 130 parses the impressions in thetagged impressions database 525, selects a user identifier, and talliesthe respective number of impressions for the one or more geographiclocations associated with the user identifier. When the number ofimpressions associated with the same user identifier and geographiclocation satisfies a residence threshold, the corresponding geographiclocation is associated with the home location of the user and/or theuser device 115. However, other techniques for identifying a homelocation to associate with the user and/or the user device 115 mayadditionally or alternatively be used. For example, certain user agentsare typically associated with consumer-grade user devices (e.g.,personal computers, laptops, etc.), while other user agents aretypically associated with enterprise/business devices. In suchinstances, the profile generator 130 may tally the number of impressionsfor the one or more user agents associated with consumer devices. In theillustrated example of FIG. 5, the example profile generator 130 doesnot include the impressions marked as business locations, for example,by the location classifier 555, when generating profiles.

In some examples, the profiles generated by the example profilegenerator 130 include demographic information of the user such as theage, gender, presence of children, income, ethnicity, etc. For example,the profile generator 130 may access a demographics database thatincludes demographic information in association with a user identifier.The example profile generator 130 may combine the demographicinformation retrieved from the demographics database when generating theprofile.

In the illustrated example, the profile generator 130 stores theprofiles generated for respective user identifiers in the user profilesdata store 135. An example data table 800 representing example data thatmay be stored in the example user profiles data store 135 is shown inthe illustrated example of FIG. 8. The example user profiles data store135 may be implemented by a volatile memory (e.g., a Synchronous DynamicRandom Access Memory (SDRAM), Dynamic Random Access Memory (DRAM),RAMBUS Dynamic Random Access Memory (RDRAM), etc.) and/or a non-volatilememory (e.g., flash memory). The example user profiles data store 135may additionally or alternatively be implemented by one or more doubledata rate (DDR) memories, such as DDR, DDR2, DDR3, mobile DDR (mDDR),etc. The example user profiles data store 135 may additionally oralternatively be implemented by one or more mass storage devices such ashard disk drive(s), compact disk drive(s), digital versatile diskdrive(s), etc. While in the illustrated example the user profiles datastore 135 is illustrated as a single database, the user profiles datastore 135 may be implemented by any number and/or type(s) of databases.

The example time stamper 560 of FIG. 5 includes a clock and a calendar.The example time stamper 560 associates a time period (e.g., 1:00 a.m.UTC (Coordinated Universal Time) to 1:01 a.m. (UTC)) and a date (e.g.,Jan. 1, 2015) with each generated tagged impression entry from thetagged impression logger 520 by, for example, appending the period oftime and the date information to an end of the data of the impressionentry in the example tagged impressions database 525. However, any othertime format may additionally or alternatively be used. For example, thetime stamper 560 may derive a local time (E.g., Central Standard Time(CSD)) from the UTC time stamp prior to recording the time stamp in thetagged impressions database 525.

FIG. 6 is an example applet 600 including pseudo code that may heexecuted to generate a beacon including media monitoring information inresponse to a user device accessing tagged media. For example, theapplet 600 may be embedded in the media 250 of FIG. 2. In theillustrated example of FIG. 6, the applet 600 includes an example sourceinformation defining line 602, an example media monitoring informationretrieval section 604, an example destination information defining line616 and an example beacon transmission section 618. The example sourceinformation defining line 602 of FIG. 6 retrieves the network address ofthe user device and stores the value for the source identifyinginformation 330. In the illustrated example of FIG. 6, the mediamonitoring information retrieval section 604 defines the values of themedia monitoring information (e.g., the user identifying information345, the location services information 350, the media identifyinginformation 355, the time stamp 360, and the network identifyinginformation 365) included in the media monitoring information 340. Forexample, the media monitoring information retrieval section 604 includesan example user identifier defining line 606, an example locationservices identifier defining block 608, an example media identifierdefining line 610, an example time stamp defining line 612 and anexample network identifier defining block 614.

In the illustrated example, the user identifier defining line 606retrieves user identification information (e.g., a media access control(MAC) address, an international mobile equipment identity (IMEI) number,a telephone number, etc. associated with the user device) and stores thevalue for the user identifying information 345.

The example location services identifier defining block 608 of FIG. 6determines whether the user device 115 has access to a locationapplication programming interface (API) and defines the value for thelocation services information 350 accordingly. For example, when theuser device 115 has access to the location API, line 608 a retrieveslocation services information (e.g., GPS coordinates) via the locationAPI and stores the value for the location services information 350.Otherwise, if the user device 115 does not have access to the locationAPI, line 608 b stores a value indicating that no location servicesinformation is provided (e.g., a null or empty value, “False,” “N/A,”“0,” etc.). In the illustrated example, the media identifier definingline 610 retrieves media identification information from the media 250and stores the value for the media identifying information 355. In theillustrated example, the time stamp defining line 612 retrieves date andtime information for the media request and stores the value for the timestamp 360.

The example network identifier defining block 614 of FIG. 6 determineswhether the user device 115 is connected to a cellular network (e.g., amobile network) or a Wi-Fi network (e.g., a fixed-location network) anddefines the value for network identifying information 365 accordingly.For example, when the user device 115 enables communications via acellular radio, line 614 a stores a value for the network identifyinginformation 365 indicating the network connection-type is a cellularnetwork. Otherwise, if the user device 115 does not have the cellularradio enabled to communicate (e.g., the user device 115 communicates viaa Wi-Fi network connection), line 614b stores a value for the networkidentifying information 365 indicating the network connection-type is aWi-Fi network. In some examples, the applet 600 may not include thenetwork identifier defining block 614.

In the illustrated example of FIG. 6, the example destinationinformation defining line 616 retrieves the network address associatedwith the destination of the communication and stores the value for thedestination identifying information 335. For example, the destinationinformation defining line 616 may retrieve the Wi-Fi network-networkaddress 315 of FIG. 3, the network address associated with the firstexample antenna 430 a of FIG. 4, etc.

In the illustrated example of FIG. 6, the example applet 600 includesthe example beacon transmission section 618 to generate a beacon and totransmit the generated beacon to, for example, the AME server 105. Forexample, using the source identifier 330, the media monitoringinformation 340 (e.g., the user identifier 345, the location servicesidentifier 350, the media identifier 355, the time stamp 360 and thenetwork identifier 365) and the destination identifier 335, examplebeacon generating line 620 defines an example beacon 622. At examplebeacon transmitting line 624, the applet 600 causes the user device 115to transmit the beacon 622 to, for example, the AME server 105. In someexamples, the applet 600 logs the beacon 622 and transmits one or morebeacons at a later time. For example, the applet 600 may cause the userdevice 115 to periodically (e.g., every 24 hours) transmit loggedbeacons to the AME server 105.

FIG. 7 is an example data table 700 that may be stored by the exampleAME server 105 of FIGS. 1-4 and/or 5 to store tagged impressions. Theexample data table 700 of the illustrated example of FIG. 7 includes animpression identifier column 705, a source information column 710, auser identifier column 715, a location services identifier column 720, amedia identifier column 725, a time stamp column 730, a networkconnection-type column 735, a location identifier column 740, ageographic location column 745 and a business location flag 750. Theexample impression identifier column 705 indicates an identifier of atagged impression logged by the AME server 105. In the illustratedexample, the impression identifier is a unique serial identifier.However, any other approach uniquely identifying an impression mayadditionally or alternatively be used.

The example source information column 710 indicates source identifyinginformation such as a network address identifying the source of thecorresponding beacon. The example user identifier column 715 identifiesuser identifying information associated with a user and/or a user devicethat accessed the tagged media. The example location services identifiercolumn 720 identifies location services information corresponding towhere the user and/or user device accessed the tagged media. In someexamples, the location services information is provided by the userdevice (e.g., when the application requesting media has access to apositioning system of the user device) and/or by the mobile networkprovider (e.g., the logger 425 of FIG. 4).

The example media identifier column 725 identifies the tagged media thatwas accessed by the user device 115 and caused the media monitoringinformation to be communicated to the AME server 105. The example timestamp column 730 indicates a date and/or time at which the media wasaccessed at the user device 115. The example network connection-typecolumn 735 indicates the type of network connection used to transmit themedia monitoring information 340. The example location identifier column740 identifies the reliable location identifier determined for theimpression. The example geographic location column 745 identifies thegeographic location corresponding to the location identifier. Theexample business location flag 750 indicates whether the geographiclocation associated with the impression is likely a business location.

The example data table 700 of the illustrated example of FIG. 7 includesthree example rows 760, 770, 780 corresponding to three example taggedimpression entries. The first example row 760 indicates that animpression having an identifier of “0001” was received from a routerhaving a network address of “IPAddr 01,” a user identifier of “User 01,”did not include location services information and the media monitoringinformation corresponding to the impression was transmitted via a“Wi-Fi” network. The impression entry “0001” was logged at the AMEserver 105 in response to a user device accessing a “Host1.com” at 8:00AM on Jan. 1, 2015. In addition, the location identifier “IPAddr 01” wasdetermined to be a reliable location identifier and used to determinethat the user and/or the user device was located in “Chicago, Ill.” whenaccessing the media “Host1.com.” Furthermore, the user and/or userdevice was likely not accessing the media “Host1.com” at a businesslocation.

The second example row 770 indicates that an impression having anidentifier of “0002” was received from a router having a network addressof “IPAddr 02,” a user identifier of “User 02,” included locationservices information “Lat 2, Long 2” and the media monitoringinformation corresponding to the impression was transmitted via a“Cellular” network. The impression entry “0002” was logged at the AMEserver 105 in response to a user device accessing “Host2.com” at 9:15 AMon Jan. 2, 2015. In addition, the location identifier “Lat 2, Long 2”was determined to be a reliable location identifier and used todetermine that the user and/or the user device was located in “Austin,Tex.” when accessing the media “Host2.com.”

Furthermore, the user and/or user device was likely not accessing themedia “Host2.com” at a business location.

The third example row 780 indicates that an impression having anidentifier of “0043” was received from a router having a network addressof “IPAddr 03,” a user identifier of “User 03,” did not include locationservices information and the media monitoring information correspondingto the impression was transmitted via a “Cellular” network. Theimpression entry “0043” was logged at the AME server 105 in response toa user device accessing “Host3.com” at 9:45 AM on Jan. 2, 2015. Inaddition, the location identifier “Lat 3, Long 3” was determined to be areliable location identifier and used to determine that the user and/orthe user device was located in “Dallas, Tex.” when accessing the media“Host3.com.” Furthermore, the user and/or user device was likelyaccessing the media “Host3.com” at a business location.

While three example tagged impression entries are represented in theexample data table 700 of FIG. 7, more or fewer tagged impressionentries may be represented in the example data table 700 correspondingto the many beacons received by the AME server 105.

FIG. 8 represents an example data table 800 that may be stored by theAME server 105 of FIGS. 1-4 and/or 5 representing profiles generated forusers associated with tagged impressions. The example data table 800 ofthe illustrated example of FIG. 8 is stored in the example user profilesdata store 135 of FIGS. 1 and/or 5. The example data table 800 of theillustrated example of FIG. 8 includes a user identifier column 805, auser home location column 810, a gender identifier column 815, an ageidentifier column 820, a presence of children identifier column 825 anda user interests identifier column 830. However, any other columnsrepresenting any other demographic information such as race, ethnicity,income, etc. may additionally or alternatively be used. Moreover, theexample column(s) may be implemented in any other fashion. For example,the example age identifier column 820 of the illustrated exampleidentifies an age range of the user. In some examples, the ageidentifier column 820 may store a birthdate of the user, such that anage of the user may be later calculated. The example user identifiercolumn 805 of the illustrated example of FIG. 8 stores a user identifierassociated with a user. However, in some examples, the example useridentifier column 805 may store an altered and/or obfuscated version ofthe user identifier (e.g., a hashed version of the user identificationinformation), an identifier of the user device (e.g., a MAC address)that transmitted the media monitoring information 340 received at theANTF server 105, etc.

The example data table 800 of the illustrated example includes threeexample rows 850, 860, 870. The first example row 850 indicates that theuser associated with the “User 01” identifier is male age 30-34, has nochildren, has a home location of Chicago, Ill., and is interested incars and grilling. The second example second row 860 indicates that theuser associated with the “User 02” identifier has a home location ofAustin, Tex., but additional demographic information (e.g., gender, age,presence of children, interests) for the user is not known. The thirdexample row 870 indicates that the user associated with the “User 03”identifier is a female age 35-39, has children, has an unknown homelocation, and is a sports fan. While three example rows 850, 860, 870are shown corresponding to three example user devices in the illustratedexample of FIG. 8, more or fewer user devices may be represented in theexample data table 800 corresponding to the many users who access taggedmedia provided by the media provider and/or AME.

While an example manner of implementing the AME server 105 of FIGS. 1-3and/or 4 is illustrated in FIG. 5, one or more of the elements,processes and/or devices illustrated in FIG. 5 may be combined, divided,re-arranged, omitted, eliminated and/or implemented in any other way.Further, the example tag handler 125, the example profile generator 130,the example user profiles data store 135, the example beacon handler505, the example beacon parser 510, the example decrypter 515, theexample tagged impression logger 520, the example tagged impressionsdatabase 525, the example network classifier 530, the example locationidentifier handler 535, the example location retriever 540, the examplelocation mapper 545, the example geographic database 550, the examplelocation classifier 555, the example time stamper 560 and/or, moregenerally, the example AME server 105 of FIG. 5 may be implemented byhardware, software, firmware and/or any combination of hardware,software and/or firmware. Thus, for example, any of the example taghandler 125, the example profile generator 130, the example userprofiles data store 135, the example beacon handler 505, the examplebeacon parser 510, the example decrypter 515, the example taggedimpression logger 520, the example tagged impressions database 525, theexample network classifier 530, the example location identifier handler535, the example location retriever 540, the example location mapper545, the example geographic database 550, the example locationclassifier 555, the example time stamper 560 and/or, more generally, theexample AME server 105 of FIG. 5 could be implemented by one or moreanalog or digital circuit(s), logic circuits, programmable processor(s),application specific integrated circuit(s) (ASIC(s)), programmable logicdevice(s) (PLD(s)) and/or field programmable logic device(s) (FPLD(s).When reading any of the apparatus or system claims of this patent tocover a purely software and/or firmware implementation, at least one ofthe example tag handler 125, the example profile generator 130, theexample user profiles data store 135, the example beacon handler 505,the example beacon parser 510, the example decrypter 515, the exampletagged impression logger 520, the example tagged impressions database525, the example network classifier 530, the example location identifierhandler 535, the example location retriever 540, the example locationmapper 545, the example geographic database 550, the example locationclassifier 555, the example time stamper 560 and/or, more generally, theexample AME server 105 of FIG. 5 is/are hereby expressly defined toinclude a tangible computer readable storage device or storage disk suchas a memory, a digital versatile disk (DVD), a compact disk (CD), aBlu-ray disk, etc. storing the software and/or firmware. Further still,the example AME server 105 of FIGS. 1-3 and/or 4 may include one or moreelements, processes and/or devices in addition to, or instead of, thoseillustrated in FIG. 5, and/or may include more than one of any or all ofthe illustrated elements, processes and devices.

Flowcharts representative of example machine readable instructions forimplementing the example AME server 105 of FIGS. 1-4 and/or 5 are shownin FIGS. 9-11 and/or 12. In these examples, the machine readableinstructions comprise a program(s) for execution by a processor such asthe processor 1312 shown in the example processor platform 1300discussed below in connection with FIG. 13. The program(s) may beembodied in software stored on a tangible computer readable storagemedium such as a CD-ROM, a floppy disk, a hard drive, a digitalversatile disk (DVD), a Blu-ray disk, or a memory associated with theprocessor 1312, but the entire program and/or parts thereof couldalternatively be executed by a device other than the processor 1312and/or embodied in firmware or dedicated hardware. Further, although theexample program(s) is/are described with reference to the flowchartsillustrated in FIGS. 9-12, many other methods of implementing theexample ANILE server 105 of FIGS. 1-4 and/or 5 may alternatively beused. For example, the order of execution of the blocks may be changed,and/or some of the blocks described may be changed, eliminated, orcombined.

As mentioned above, the example processes of FIGS. 9-12 may beimplemented using coded instructions (es., computer and/or machinereadable instructions) stored on a tangible computer readable storagemedium such as a hard disk drive, a flash memory, a read-only memory(ROM), a compact disk (CD), a digital versatile disk (DVD), a cache, arandom-access memory (RAM) and/or any other storage device or storagedisk in which information is stored for any duration (e.g., for extendedtime periods, permanently, for brief instances, for temporarilybuffering, and/or for caching of the information). As used herein, theterm tangible computer readable storage medium is expressly defined toinclude any type of computer readable storage device and/or storage diskand to exclude propagating signals and to exclude transmission media. Asused herein, “tangible computer readable storage medium” and “tangiblemachine readable storage medium” are used interchangeably. Additionallyor alternatively, the example processes of FIGS. 9-12 may be implementedusing coded instructions (e.g., computer and/or machine readableinstructions) stored on a non-transitory computer and/or machinereadable medium such as a hard disk drive, a flash memory, a read-onlymemory, a compact disk, a digital versatile disk, a cache, arandom-access memory and/or any other storage device or storage disk inwhich information is stored for any duration (e.g., for extended timeperiods, permanently, for brief instances, for temporarily buffering,and/or for caching of the information). As used herein, the termnon-transitory computer readable medium is expressly defined to includeany type of computer readable storage device and/or storage disk and toexclude propagating signals and to exclude transmission media. As usedherein, when the phrase “at least” is used as the transition term in apreamble of a claim, it is open-ended in the same manner as the term“comprising” is open ended. “Comprising” and all other variants of“comprise” are expressly defined to be open-ended terms. “Including” andall other variants of “include” are also defined to be open-endedteirns. In contrast, the term “consisting” and/or other forms of“consist” are defined to be close-ended terms.

The example program 900 of FIG. 9 initiates logging tagged impressionsat the example AME server 105 (FIGS. 1-4 and/or 5). The example program900 of FIG. 9 begins at block 902 when the beacon handler 505 (FIG. 5)receives the beacon 260 including media monitoring information 340 fromthe user device 115. For example, the user device 115 may communicatethe media monitoring information 340 in response to executing the tag250 (e.g., executable instructions) included in the media 250 beingaccessed by the user device 115. In some examples, the beacon handler505 transmits an acknowledgement message to the user device 115 inresponse to receiving the beacon 260. In other examples, the beaconhandler 505 provides no response, but the data contained in the beacon260 (e.g., the source identifying information 330, the media monitoringinformation 340, a cookie, etc.) is logged.

At block 904, the example beacon parser 510 (FIG. 5) determines whetherthe media monitoring information 340 included in the beacon 260 isencrypted. For example, location services information 350 included inthe beacon 260 may be encrypted using advanced encryption standard (AES)algorithms to protect the privacy of the user. If, at block 904, thebeacon parser 510 determines that media monitoring information 340 isencrypted, then, at block 906, the example decrypter 515 (FIG. 5)decrypts the media monitoring information 340. For example, thedecrypter 515 may use AES algorithms to decrypt the media monitoringinformation 340.

If, at block 904, the beacon parser 510 determined that the mediamonitoring information 340 was not encrypted or after the decrypter 515decrypted the media monitoring information 340 at block 906, controlproceeds to block 908 at which the beacon parser 510 parses the mediamonitoring information 340 for location services information 350. If, atblock 910, the beacon parser 510 finds location services information 350(e.g., the user device 115 and/or the example logger 425 (FIG. 4)inserted GPS coordinates in the media monitoring information 340), then,at block 912, the beacon parser 510 extracts the location servicesinformation 350 and the example location identifier handler 535 (FIG. 5)sets the location identifier using the locations services information.The location identifier may be used by the ANTE server 105 to reliablyassociate the user and/or the user device to a geographic location.Control then proceeds to block 920 to record a tagged impression entry.

If, at block 910, the beacon parser 510 did not find location servicesinformation 350, then, at block 914, the AME server 105 determineswhether the media monitoring information 350 received at the AME server105 was transmitted via a fixed-location network (e.g., a Wi-Fi network)or a mobile network (e.g., a cellular network). For example, the examplenetwork classifier 530 (FIG. 5) may identify network identifyinginformation 365 indicating whether a Wi-Fi network or a cellular networkwas used by the user device 115 to transmit the media monitoringinformation 340. In some examples, the network classifier 530 determines the network connection-type based on whether the media monitoringinformation 340 includes location services information.

If, at block 914, the network classifier 530 determined that the mediamonitoring information 340 was not transmitted by the user device 115via a mobile network (e.g., the user device 115 transmitted the mediamonitoring information 340 via a fixed-location network), then, at block916, the beacon parser 510 extracts the source identifying information330 (e.g., a network address) associated with the beacon 260 and thelocation identifier handler 535 sets the location identifier using thesource identifying information 330. Control then proceeds to block 920to record a tagged impression entry.

If, at block 914, the network classifier 530 determined that the userdevice 115 transmitted the media monitoring information 340 via a mobilenetwork, then, at block 918, the location identifier handler 353 setsthe location identifier as unknown. At block 920, the example taggedimpression logger 520 (FIG. 5) stores a record of the media monitoringinformation 340 included in the beacon 260 in the example taggedimpressions database 525 (FIG. 5). For example, the beacon parser 510may extract media identifying information 355 (e.g., a URL address, avendor identifier, etc.) that may be included in the media monitoringinformation 340.

At block 922, the example time stamper 560 (FIG. 5) associates a timeperiod (e.g., 1:00 AM Coordinated Universal Time (UTC) to 1:01 AM UTC)and/or date (e.g., Jan. 1, 2015) with the tagged media impression. Forexample, the time stamper 560 may append the period of time and/or dateinformation to an end of the impression entry in the tagged impressionsdatabase 525.

At block 924, the AME server 105 determines whether to continueprocessing beacons. If, at block 924, the AN' F server 105 determined tocontinue processing beacons (e.g., the beacon handler 505 is receivingbeacons), control returns to block 904 to determine whether the mediamonitoring information 340 included in the next beacon is encrypted.Otherwise, if, at block 924, the AME server 105 determined to endprocessing beacons (e.g., due to a server shutdown event, etc.), theexample process 900 of FIG. 9 ends.

The example program 1000 of FIG. 10 maps the tagged impression entriesto geographic locations based on reliable location identifiersdetermined by the example AME server 105 (FIGS. 1-4 and/or 5). Theexample program 1000 of FIG. 10 begins at block 1002 when the examplelocation mapper 545 (FIG. 5) identifies a tagged impression to beprocessed. For example, the location mapper 545 may periodically,aperiodically and/or as a one-time event, parse the tagged impressionsin the example tagged impressions database 525 (FIG. 5) and select animpression entry to process. At block 1004, the location mapper 545determines whether the location identifier stored for the impression issource identifying information or location services information. If, atblock 1004, the location mapper 545 determined that the locationidentifier is source identifying information (e.g., a network address),then, at block 1006, the location mapper 545 access the examplegeographic database 550 (FIG. 5) to convert the source identifyinginformation to a geographic location. In some examples, the locationmapper 545 may access a source identifying information-to-geographiclocations data structure to convert the source identifying informationto a geographic location.

If, at block 1004, the location mapper 545 determined that that thelocation identifier for the selected impression entry is not sourceidentifying information, then, at block 1008, the location mapper 545determines whether the location identifier is known. For example, theuser device 115 may not have access to a location API when generatingthe media monitoring information 340. If, at block 1008, the locationmapper 545 determined that the location identifier for the selectedimpression entry is not known (e.g., the value is unknown), then, atblock 1010, the AME server 105 retrieves location services informationfrom the example cellular network provider 416 (FIG. 4). For example,the example location retriever 540 (FIG. 5) may generate the examplequery 440 requesting location services information (e.g., GPScoordinates) from the cellular network provider 416 (e.g., via theexample logger 425 of FIG. 4) using the user identifying information 345and/or the time stamp 360 associated with the selected impression entry.

At block 1012, the location etriever 540 sets the location identifierfor the selected tagged impression entry using the locations servicesinformation returned by the cellular network provider 416. After thelocation retriever 540 sets the location identifier for the selectedimpression entry at block 1012 or, if the location mapper 545 determinedthat the location identifier for the selected impression was known atblock 1008, then, at block 1014, the location mapper 545 accesses theexample geographic database 550 to convert the location servicesinformation to a geographic location. In some examples, the locationmapper 545 may access a location services information-to-geographiclocations data structure to convert the location services information toa geographic location.

At block 1016, the location mapper 545 records the geographic locationfor he selected impression. At block 1018, the AME server 105 determineswhether to continue processing impressions. If, at block 1018, the AMEserver 105 determined to continue processing impressions (e.g., thetagged impressions database 525 includes one or more impressions thatare not associated with a geographic location), control returns to block1002 to select another tagged impression to process. Otherwise, if, atblock 1018, the AME server 105 determined to end processing impression(e.g., due to a server shutdown event, etc.), the example process 1000of FIG. 10 ends.

The example program 1100 of FIG. 11 flags impressions in the exampletagged impressions database 525 (FIG. 5) at the example AME server 105(FIGS. 1-4 and/or 5) that are associated with business locations basedon source identifying information (e.g., network addresses). The exampleprogram 1100 of FIG. 11 begins at block 1102 when the example locationclassifier 555 (FIG. 5) selects a source identifier (e.g., a networkaddress) from the tagged impressions database 525 to process. At block1104, the location classifier 555 determines a count for the number ofimpressions in the tagged impressions database 525 with the selectedsource identifier. For example, the location classifier 555 may countthe number of impression entries associated with the selected sourceidentifier. Additionally or alternatively, the location classifier 555may count the number of impression entries associated with user devicestypically associated with enterprise/business use.

If, at block 1106, the locationclassifier 555 determined that the countsatisfies a business threshold, then, at block 1108, the locationclassifier 555 flags the impressions in the logged impressions database525 with the corresponding source identifying information as likelybusiness locations. For example, the count may satisfy the businessthreshold when the number of impressions associated with the selectedsource identifier is greater than or equal to the business threshold.

If, at block 1106, the location classifier 555 determined that the countfor the number of impressions in the tagged impressions database 525associated with the selected source identifier did not satisfy thebusiness threshold (e.g., the number of impressions associated with theselected source identifier is less than business threshold), or, afterthe location classifier 555 flagged the impressions in the taggedimpressions database 525 at block 1108, then, at block 1110, thelocation classifier 555 determines whether there is other sourceidentifying information in the tagged impressions database 525 toprocess.

If, at block 1110, the location classifier 555 determined there is othersource identifying information to process, control returns to block 1102to select another source identifier from the tagged impressions database525 to process. Otherwise, if, at block 1110, the location classifier555 determined that there is no other source identifying information toprocess, the example process 1100 of FIG. 11 ends.

The example program 1200 of FIG. 12 generates profiles for users basedon geographic location counts associated with the respective users atthe example AME server 105 (FIGS. 1-4 and/or 5). The example program1200 of FIG. 12 begins at block 1202 when the example profile generator130 (FIGS. 1 and/or 5) selects a user for which to generate a profile.For example, the profile generator 130 may select a user in response toa request from, for example, a media provider. At block 1204, theexample profile generator 130 selects user identifying information(e.g., a user identifier) associated with the user from the exampletagged impressions database 525 (FIG. 5). At block 1206, the profilegenerator 130 selects a geographic location associated with the selecteduser identifier. At block 1208, the profile generator 130 determines thenumber of impressions in the tagged impressions database 525 that areassociated with the selected geographic location and the selected useridentifier. For example, the profile generator 130 may count the numberof impressions in the tagged impressions database 525 indicating thatthe user and/or user device associated with the user identifyinginformation “User 01” is in Chicago, Ill.

At block 1210, the example profile generator 130 determines whetherthere is another geographic location associated with the useridentifier. For example, a user who travels may have a user identifierthat is associated with two or more geographic locations. Additionallyor alternatively, depending on the granularity of the geographiclocations in the example geographic location database 550 (FIG. 5), auser identifier may be associated with two or more geographic locations(e.g., neighborhoods) within a same general geographic area (e.g., acity).

For example, a user living in Chicago may have one or more impressionsassociated with the “Downtown” neighborhood of the Chicago geographiclocation (e.g., where the user works) and one or more impressionsassociated with the “Logan Square” neighborhood of the Chicagogeographic location (e.g., where the user lives). If, at block 1210, theprofile generator 130 determined that the user identifier is associatedwith another geographic location, control returns to block 1206 toselect another geographic location to process.

If, at block 1210, the profile generator 130 determined that the useridentifier is not associated with another geographic location, then, atblock 1212, the profile generator 130 determines whether the user isassociated with another user identifier. For example, a user may beassociated with two or more user devices (e.g., a laptop andsmartphone). In some such examples, user identifying informationcorresponding to the respective user devices (es., a laptop MAC addressand a smartphone MAC address) may be associated with the same user. If,at block 1212, the profile generator 130 determined that the user isassociated with another user identifier, control returns to block 1204to select another user identifier to process.

If, at block 1212, the profile generator 130 determined that the user isnot associated with another user identifier, then, at block 1214, theprofile generator 130 selects a geographic location associated with theuser having the highest number of impressions. At block 1216, theprofile generator 130 determines whether the count satisfies a residencethreshold. If, at block 1216, the profile generator 130 determined thatthe count satisfied a residence threshold, then, at block 1218, theprofile generator 130 sets the user home location to the geographiclocation.

If, at block 1216, the profile generator 130 determined that the countdid not satisfy a residence threshold, then, at block 1220, the profilegenerator 130 sets the user home location as unknown. At block 1222, theprofile generator 130 generates the profile and stores the generatedprofile in the example user profiles data store 135 (FIGS. 1 and/or 5).At block 1224, the profile generator 130 determines whether there isanother user to process (e.g., generate a profile for). If, at block1224, the profile generator 130 detei mined that there is another userto process, control returns to block 1202 to select another user forwhich to generate a profile. Otherwise, if, at block 1224, the profilegenerator 130 determined there was not another user to process, theexample process 1200 of FIG. 12 ends.

FIG. 13 is a block diagram of an example processor platform 1300 capableof executing the instructions of FIGS. 9-11 and/or 12 to implement theAME server 105 of FIGS. 1-4 and/or 5. The processor platform 1300 canbe, for example, a server, a personal computer, or any other type ofcomputing device.

The processor platform 1300 of the illustrated example includes aprocessor 1312. The processor 1312 of the illustrated example ishardware. For example, the processor 1312 can be implemented by one ormore integrated circuits, logic circuits, microprocessors or controllersfrom any desired family or manufacturer.

The processor 1312 of the illustrated example includes a local memory1313 (e.g., a cache). The processor 1312 of the illustrated exampleexecutes the instructions to implement the example tag handler 125, theexample profile generator 130, the example beacon handler 505, theexample beacon parser 510, the example decrypter 515, the example taggedimpression logger 520, the example network classifier 530, the examplelocation identifier handler 535, the example location retriever 540, theexample location mapper 545, the example location classifier 555 and theexample time stamper 560. The processor 1312 of the illustrated exampleis in communication with a main memory including a volatile memory 1314and a non-volatile memory 1316 via a bus 1318. The volatile memory 1314may be implemented by Synchronous Dynamic Random Access Memory (SDRAM),Dynamic Random Access Memory (DRAM), RAMBUS Dynamic Random Access Memory(RDRAM) and/or any other type of random access memory device. Thenon-volatile memory 1316 may be implemented by flash memory and/or anyother desired type of memory device. Access to the main memory 1314,1316 is controlled by a memory controller.

The processor platform 1300 of the illustrated example also includes aninterface circuit 1320. The interface circuit 1320 may be implemented byany type of interface standard, such as an Ethernet interface, auniversal serial bus (USB), and/or a PCI express interface.

In the illustrated example, one or more input devices 1322 are connectedto the interface circuit 1320. The input device(s) 1322 permit(s) a userto enter data and commands into the processor 1312. The input device(s)can be implemented by, for example, an audio sensor, a microphone, acamera (still or video), a keyboard, a button, a mouse, a touchscreen, atrack-pad, a trackball, isopoint and/or a voice recognition system.

One or more output devices 1324 are also connected to the interfacecircuit 1320 of the illustrated example. The output devices 1324 can beimplemented, for example, by display devices (e.g., a light emittingdiode (LED), an organic light emitting diode (OLED), a liquid crystaldisplay, a cathode ray tube display (CRT), a touchscreen, a tactileoutput device, a printer and/or speakers). The interface circuit 1320 ofthe illustrated example, thus, typically includes a graphics drivercard, a graphics driver chip or a graphics driver processor.

The interface circuit 1320 of the illustrated example also includes acommunication device such as a transmitter, a receiver, a transceiver, amodem and/or network interface card to facilitate exchange of data withexternal machines (computing devices of any kind) via a network 1326(e.g., an Ethernet connection, a digital subscriber line (DSL), atelephone line, coaxial cable, a cellular telephone system, etc.).

The processor platform 1300 of the illustrated example also includes oneor more mass storage devices 1328 for storing software and/or data.Examples of such mass storage devices 1328 include floppy disk drives,hard drive disks, compact disk drives, Blu-ray disk drives, RAIDsystems, and digital versatile disk (DVD) drives. The example massstorage 1328 implements the example user profiles data store 135, theexample tagged impressions database 525 and the example geographicdatabase 550.

The coded instructions 1332 of FIGS. 9-11 and/or 12 may be stored in themass storage device 1328, in the volatile memory 1314, in thenon-volatile memory 1316, and/or on a removable tangible computerreadable storage medium such as a CD or DVD.

From the foregoing, it will be appreciated that the above disclosedmethods, apparatus and articles of manufacture enable accuratelyassociating geographic locations with user devices. Examples disclosedherein operate based on media monitoring information included in beaconsreceived at an audience measurement entity (ANTE) server. Examplesdisclosed herein parse the media monitoring information and determine areliable location identifier of a geographic location to associate withthe corresponding user device. An example advantage of examplesdisclosed herein is that the reliable location identifier may beselected based on a network connection-type that was used to transmitthe media monitoring information from the user device to the AME server.Thus, examples disclosed herein enable choosing a location identifierthat more accurately corresponds to the geographic location of the userand/or the user device accessing tagged media.

It is noted that this patent claims priority from U.S. ProvisionalPatent Application Ser. No. 62/155,986, which was filed on May 1, 2015,entitled “Methods and Apparatus to Associate Geographic Locations withMobile Devices,” and is hereby incorporated by reference in itsentirety.

Although certain example methods, apparatus and articles of manufacturehave been disclosed herein, the scope of coverage of this patent is notlimited thereto. On the contrary, this patent covers all methods,apparatus and articles of manufacture fairly falling within the scope ofthe claims of this patent.

What is claimed is:
 1. An apparatus to associate a geographic location with a user device, the apparatus comprising: means for classifying a network that connects a user device to an audience measurement entity based on source identifying information transmitted from the user device; means for determining a geographic location associated with an impression indicated by media identifying information based on a means of identifying a location determined based on at least one of: a network address included in the source identifying information and a first mapping that maps the network address to the geographic location when the network is a fixed network; and location services information included in the source identifying information and a second mapping that maps the location services information to the geographic location when the network is a mobile network; and means for classifying the geographic location of the user device as a home location based on a timestamp associated with the impression, the timestamp retrieved from a database of user profiles.
 2. The apparatus of claim 1, further including means for crediting media with an impression by logging the source identifying information, media identifying information, and the geographic location.
 3. The apparatus of claim 1, wherein the source identifying information transmitted from the user device is transmitted to the audience measurement entity via a beacon.
 4. The apparatus of claim 3, further including means for decrypting the source identifying information from the beacon to identify the means of identifying a location when the source identifying information is encrypted.
 5. The apparatus of claim 3, wherein location services information is embedded in the beacon transmitted from the user device to the audience measurement entity.
 6. The apparatus of claim 1, wherein the means for classifying the geographic location of the user device include means for determining if the geographic location matches a user location stored in a matching user profile.
 7. The apparatus of claim 6, wherein the means for classifying the geographic location of the user device include means for storing an indication in the matching user profile that the user location is a home location, when a number of times that an identified location matches the user location meets a threshold.
 8. An apparatus for associating a geographic location with a user device, the apparatus comprising: means for extracting source identifying information from a beacon transmitted from a user device to an audience measurement entity in response to the user device accessing a webpage; means for extracting media identifying information from the beacon; means for classifying a network that connects the user device to the audience measurement entity based on the source identifying information; means for querying, in response to determining that the network is a mobile network, a location service of a provider of the mobile network to retrieve a location associated with the user device; and means for storing the location in association with the media identifying information to credit an impression of the media identifying information to the location.
 9. The apparatus of claim 8, further including means for accessing a geographic database including a list of location identifiers to map the locationassociated with the user device to a corresponding geographic location.
 10. The apparatus of claim 9, further including means for crediting the media with an impression by logging the source identifying information, media identifying information, and the geographic location.
 11. The apparatus of claim 9, further including means for querying a database of user profiles based on a user identifier included in the beacon to identify a matching user profile.
 12. The apparatus of claim 11, further including means for determining if the geographic location matches a user location stored in the matching user profile.
 13. The apparatus of claim 12, further including means for storing an indication in the user profile that the user location is a home location, in response to a number of times that an identified location matches the user location meets a threshold.
 14. The apparatus of claim 9, further including means for classifying the geographic location of the user device as a home location based on a timestamp associated with the credited impression.
 15. The apparatus of claim 8, further including means for decrypting identifying information to identify the location identifier when means for extracting source identifying information and means for extracting media identifying information determine that the media identifying information is encrypted.
 16. The apparatus of claim 8, wherein location services information is not embedded in the beacon transmitted from the user device to the audience measurement entity. 